Frage : aufgeteilte Schnur also es können für verwendet werden wo in der Aussage

Ich möchte nach einer Zahl innerhalb einer Schnur suchen, gleichwohl das Feld in der Tabelle ein number
z.B.

MYSTRING WIRD ÜBERSCHRITTEN ist, DA EINE SCHNUR ZUM GESPEICHERTEN PROCEDURE
select*
vom inneren tbWholesalerProduct
tbProduct auf (tbProduct.iProductId = tbWholesalerProduct.iProductId) dem inneren
sich anschließen tbProductGroup auf (tbProductGroup.iProductGroupId = tbProduct.iProductGroupId) dem
inner verbinden dbo.tbWholesalerProductPrice AUF dbo.tbWholesalerProduct.iWholesalerProductId = dbo.tbWholesalerProductPrice.iWholesalerproductid
sich anschließen, wo (dbo.tbWholesalerProductPrice.vState mögen @vState),
und (tbWholesalerProduct.iWholesalerId = @iWholesalerId)
und (tbProduct.iProductGroupId = @iProductGroupId) und (tbProduct.cStatus = „ein ")
and (tbProduct.iProductid in MYSTRING) -- iProductid ist ein int column

Thanks

Antwort : aufgeteilte Schnur also es können für verwendet werden wo in der Aussage

Sie können, greate eine Funktion, die Liste in eine Tabelle von ganzen Zahlen umwandeln dann verwenden die Funktion in Ihrer Frage
Etwas mögen

FUNKTION [dbo] VERURSACHEN. [GET_INT_TABLE]
(
      @STRINPUT VARCHAR (MAX)      
)
BRINGT @INTTABLE TABELLE ZURÜCK
(
      WERT INT
)
WIE
ANFANGEN
      Das varchar @insertvalue ERKLÄREN (32)
      @POS INT ERKLÄREN
      @NEXTPOS INT ERKLÄREN
      ERKLÄREN @VALUELEN INT

      @pos VORWÄHLEN = 0, @nextpos = 1
      WÄHREND @nextpos > 0
      ANFANGEN
            @nextpos = charindex VORWÄHLEN („,“, @STRINPUT, @pos + 1)
            AUSERWÄHLT @VALUELEN = FALL
                              WENN @NEXTPOS > 0 DANN
                                    @nextpos
                                          SONST
                                    (@STRINPUT) + 1 len
                                   ENDE - @pos - 1
         
        @insertvalue einstellen = (Teilkette (@STRINPUT, @pos + 1, @valuelen))                      
        wenn IsNumeric (@insertvalue) = 1
        anfangen
                  @INTTABLE (WERT) EINSETZEN
                  WERTE (@insertvalue)
            Ende
            @pos = @nextpos VORWÄHLEN
      ENDE
            
      RÜCKKEHR       
ENDE

Dann in Ihrer Frage des gespeicherten Verfahrens
….
wo (tbProduct.iProductid innen (Wert von GET_INT_TABLE (@MYSTRING) vorwählen))
Weitere Lösungen  
 
programming4us programming4us