/ Forside/ Teknologi / Udvikling / SQL / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Split en streng op i en stored procedure
Fra : Thrakath
Vist : 684 gange
200 point
Dato : 24-04-01 15:52

Hej

Hvordan opsplitter man en streng i en stored procedure og indsætter den dernæst i en tabel.
Hvis f.eks. man forstiller ser således ud: @minStreng = 1,3,5,12,23,..., osv.

På forhånd tak

 
 
Accepteret svar
Fra : fehaar

Modtaget 210 point
Dato : 24-04-01 16:07

Det kan gøres således :

ALTER PROCEDURE split(@streng varchar(255)) AS BEGIN
DECLARE @ny varchar(255)

WHILE (@streng <> '') BEGIN
IF CHARINDEX(',', @streng) > 0 BEGIN
SET @ny = LEFT(@streng, CHARINDEX(',', @streng) - 1)
SET @streng = RIGHT(@streng, LEN(@streng) - CHARINDEX(',', @streng))
END ELSE BEGIN
SET @ny = @streng
SET @streng = ''
END
INSERT INTO tabel VALUES (@ny)
END
END


Godkendelse af svar
Fra : Thrakath


Dato : 25-04-01 09:12

Det virker jo fint - men er det ikke en smule omstændigt. F.eks hvis man i VB skal opsplitte en streng kan det gøres på en meget mindre kompliceret måde. Som f.eks:

SplitMinStreng = Split(Streng, ",")
For n = 0 To UBound(SplitMinStreng )
også noget kode snask....
Next

Men tak for dit svar

Kommentar
Fra : fehaar


Dato : 25-04-01 09:49

Jo, det virker lidt omstændigt, men man har desværre ikke så mange muligheder i MSSQL stored procedures, så man bliver nødt til at bruge de midler man nu engang har. :)

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177417
Tips : 31962
Nyheder : 719565
Indlæg : 6407864
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste