Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So trennen (aufteilen) Sie Zeichenfolgen mit Kommas in einer gespeicherten SQL Server-Prozedur

Wenn Sie die durch Kommas getrennte Zeichenfolge (beliebiges Trennzeichen) an die Speicherprozedur übergeben und in der Abfrage verwenden, müssen Sie diese Zeichenfolge ausspucken, und Sie werden sie dann verwenden.

Unten finden Sie ein Beispiel:

DECLARE @str VARCHAR(500) = 'monday,tuesday,thursday'
CREATE TABLE #Temp (tDay VARCHAR(100))
WHILE LEN(@str) > 0
BEGIN
    DECLARE @TDay VARCHAR(100)
    IF CHARINDEX(',',@str) > 0
        SET  @TDay = SUBSTRING(@str,0,CHARINDEX(',',@str))
    ELSE
        BEGIN
        SET  @TDay = @str
        SET @str = ''
        END
  INSERT INTO  #Temp VALUES (@TDay)
 SET @str = REPLACE(@str,@TDay + ',' , '')
 END

 SELECT * 
 FROM tblx 
 WHERE days IN (SELECT tDay FROM #Temp)