Ich habe Spalte in der Tabelle, die Daten in Form von A_B_C_D_E_F hat. Ich mag diese Daten in verschiedenen Spalten der gleichen Zeile also so etwas wieAbfrage, um die Spaltendaten in mehrere Spalten mit demselben speziellen Char zu teilen
Ich habe einen Beispielcode erstellt, die anfänglichen dh A spaltet. Aber später spaltet es noch wie B_C_D_E_ etc ..
declare @ni nvarchar (max)
declare @tt nvarchar (max)
declare @value nvarchar (max)
set @ni = 'A_B_C_D_E'
set @turbine =(select LEFT(@ni , CHARINDEX('_', @ni) - 1) )
set @value = (SELECT SUBSTRING(@ni, CHARINDEX('_', @ni) + 1, LEN(@ni) - CHARINDEX('_', @ni) - CHARINDEX('_', REVERSE(@ni))
)
)
select @ni
select @tt
select @value
Ergebnis ist
A_B_C_D_E_F
A
B_C_D_E
Auch hier habe ich direkt übergeben die Daten in eine Variable, aber ursprünglich ist es eine Spalte in einer Tabelle und ich muss es einzeln übergeben. Bitte helfen Sie bei der Lösung.
[Split reiht den richtigen Weg - oder die nächste sein st Weg] (https://sqlperformance.com/2012/07/t-sql-queries/split-strings) Oder, wenn Sie Version 2016 verwenden, 'STRING_SPLIT()' eingebaute Funktion. –