skapa fungerar fn_MySplit (
nvarchar @String (4000)
)
@ValueTable retur bordlägger ([värdera], nvarchar (4000))
börja
förklara nvarchar @NextString (4000)
förklara @Pos int
förklara @NextPos int
förklara den nvarchar @Delimetereren (1)
förklara nvarchar @CommaCheck (1)
--Initialisera
uppsättning som @NextString = '',
fastställd @Delimeter = ”,”,
fastställd @CommaCheck = högert (@String, 1)
--Kontrollera för skugga komma, om inte finns, MELLANLÄGGET
om (@CommaCheck <> @Delimiter)
uppsättning som @String = @String + @Delimiter
--Få placerar av det första kommat
fastställda @Pos = charindex (@Delimiter som @String)
fastställda @NextPos = 1
--Kretsa stunder där är stilla ett komma i stränga av jämnar
stunder (@pos <> 0)
börja
uppsättning som @NextString = substring (@String, 1, @Pos - 1)
mellanlägget in i @ValueTable ([värdera],) värderar (@NextString)
uppsättning som @String = substring (som @String, @pos +1, len (@String))
fastställda @NextPos = @Pos
fastställda @pos = charindex (@Delimiter som @String)
avsluta
gå tillbaka
avsluta
|