Ma question est que j'ai une chaîne comme celle-ci et je veux insérer ces éléments dans différentes lignes telles que ceci p> Comment puis-je le faire? P> p>
3 Réponses :
Vous pouvez essayer cette requête.
DECLARE @str VARCHAR(500) = 'Red,House|White,Car|Blue,Table'
CREATE TABLE #Temp (tDay VARCHAR(100))
WHILE LEN(@str) > 0
BEGIN
DECLARE @TDay VARCHAR(100)
IF CHARINDEX('|',@str) > 0
SET @TDay = SUBSTRING(@str,0,CHARINDEX('|',@str))
ELSE
BEGIN
SET @TDay = @str
SET @str = ''
END
INSERT INTO #Temp VALUES (@TDay)
SET @str = REPLACE(@str,@TDay + '|' , '')
END
SELECT *
FROM #temp
SELECT tday,
PARSENAME(REPLACE(tday,',','.'),2) 'Col1' ,
PARSENAME(REPLACE(tday,',','.'),1) 'Col2'
FROM #temp
Peut-être que c'est ce que vous recherchez.
SELECT Substring(value, 1,Charindex(',', value)-1) as col1
, Substring(value, Charindex(',', value)+1, LEN(value)) as col2
FROM STRING_SPLIT('Red,House|White,Car|Blue,Table', '|')
Je vais avec utiliser string_split () code> ou une fonction de séparateur de chaîne similaire que vous pouvez ajouter à votre base de données. Cependant, je ferais former la logique d'extrait finale comme suit:
C- Sharpcorner.com/blogs/...