generare il fn_MySplit di funzione (
@String nvarchar (4000)
)
restituisce la tabella @ValueTable ([valore] nvarchar (4000))
cominciare
dichiarare @NextString nvarchar (4000)
dichiarare i @Pos int
dichiarare i @NextPos int
dichiarare il @Delimeterer nvarchar (1)
dichiarare il @CommaCheck nvarchar (1)
--Inizializzare
fissare @NextString = ''
regolare il @Delimeter = “,„
regolare il @CommaCheck = di destra (@String, 1)
--Controllare per vedere se c'è il virgola di trascinamento, se non esistito, INSERISCONO
se (@Delimiter <> del @CommaCheck)
@String stabilito = @String + @Delimiter
--Ottenere la posizione del primo virgola
regolare i @Pos = il charindex (@Delimiter, @String)
regolare i @NextPos = 1
--Collegare mentre ci è ancora un virgola nella serie di livelli
mentre (@pos <> 0)
cominciare
fissare @NextString = sottostringa (che @String, 1, @Pos - 1)
inserire ([valore]) nei valori @ValueTable (@NextString)
fissare @String = sottostringa (che @String, i @pos +1, len (@String))
regolare i @NextPos = i @Pos
regolare i @pos = il charindex (@Delimiter, @String)
estremità
ritorno
estremità
|