Frage : Mitgliedstaat SQL 2005, aufgeteilte Schnur.

Hallo, habe ich eine Spalte mit einem Wert so:     v1, v2, v3, v4, v5

And, jetzt, das ich Daten so erhalten möchte:
v1
v2
v3
v4
v5

How kann ich tun es mit auserwählter Aussage?

Antwort : Mitgliedstaat SQL 2005, aufgeteilte Schnur.

Die Funktion unter zuerst verursachen…
Diese Frage dann verwenden:

>> [Spalte] von vorwählen [Tabelle]

X.one, a.* vorwählen
Von [Tabelle] a
äußer dbo.multirow (a.Text) X anwenden

Anmerkung: Sie können irgendeine der zwei Funktionen wirklich unten verwenden, aber, da ich eine Lösung (äußer, zutreffen), I dachte gebe, dass ich meine Version der Spalte stoßen würde (using CTE in SQL-Server 2005).
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
wenn object_id („dbo.multiRow ") nicht ungültig ist
Funktion dbo.multiRow fallenlassen
GEHEN
Funktion dbo.multiRow (das @data varchar (maximal), die @delims verursachen varchar (10))
Rückkehr legt als Rückkehr ver
mit cte (eins, Rem)
wie
(
auserwählt
	rtrim (ltrim (GELASSEN (@data, charindex (@delims, @data+@delims) - 1))),
	Teilkette (@data, charindex (@delims, @data+@delims) +LEN (@delims+'. ') - 1, LEN (@data))
wo nullif (@data, '') nicht ungültig ist
Anschluss aller
auserwählt
	rtrim (ltrim (GELASSEN (Rem, charindex (@delims, rem+@delims) - 1))),
	Teilkette (Rem, charindex (@delims, rem+@delims) +len (@delims+'. ') - 1, LEN (Rem))
vom cte
wo nullif (Rem, '') nicht ungültig ist
)
ein vom cte vorwählen, in dem nullif (eins, '') nicht ungültig ist
GEHEN
Weitere Lösungen  
 
programming4us programming4us