Vraag : Lidstaten SQL 2005, gespleten koord.

Hallo, heb ik een kolom met een waarde als dit:     v1, v2, v3, v4, v5

And nu ik gegevens als dit wil krijgen:
v1
v2
v3
v4
v5

How kan ik het met uitgezochte verklaring doen?

Antwoord : Lidstaten SQL 2005, gespleten koord.

Cre�ër hieronder eerst de functie…
Dan gebruik deze vraag:

>> selecteer [Kolom] van [lijst]

Selecteer X.one, a.*
Van [lijst] a
buiten pas dbo.multirow (a.Text) X toe

Nota: U kunt één van beide functies eigenlijk gebruiken hieronder, maar aangezien ik een oplossing (buiten ben) van toepassing de gedachte geef van I zou ik mijn versie van de spleet die porren (CTE in SQL Server 2005 gebruiken).
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
als object_id („dbo.multiRow“) niet ongeldig is
dalings functie dbo.multiRow
GA
cre�ër functie dbo.multiRow (varchar (maximum), @delims varchar @data (10))
winst lijst als terugkeer
met cte (één, rem)
zoals
(
selecteer
	rtrim (ltrim (WEGGEGAAN (@data, charindex (@delims, @data+@delims) - 1))),
	het substring (@data, charindex (@delims, @data+@delims) +LEN (@delims+'. ') - 1, LEN (@data))
waar nullif (@data, '') niet ongeldig is
unie allen
selecteer
	rtrim (ltrim (WEGGEGAAN (rem, charindex (@delims, rem+@delims) - 1))),
	het substring (rem, charindex (@delims, rem+@delims) +len (@delims+'. ') - 1, LEN (rem))
van cte
waar nullif (rem, '') niet ongeldig is
)
selecteer van cte waar nullif (één, '') niet ongeldig is
GA
Andere oplossingen  
 
programming4us programming4us