Hay algunas opciones excelentes disponibles en: http://www.sqlperformance.com/2012/07/t-sql-queries/split-strings
También hay soluciones que le permiten pasar el delimitador, por lo que podría pasar en diferentes en el futuro.
Pregunta
Tengo una cadena como esta 'Suzuki GSX_1300/TWOWHEELER'
Ahora quiero dividir la cadena anterior en palabras e insertar la una por una palabra en una tabla.
DECLARE @a TABLE (a nvarchar(500));
declare @RTADESC nvarchar(100) = 'SUZUKI GSX_1300/TWOWHEELER';
declare @b int =1;
declare @c int;
set @c=CHARINDEX('_',@RTADESC,@b);
WHILE @c>0
BEGIN
SELECT @b= CHARINDEX('_' ,@RTADESC,@b)+1
INSERT INTO @a
SELECT SUBSTRING(@RTADESC,0,@b-1)
set @c=CHARINDEX('_',@RTADESC,@b)
END
SELECT * FROM @a
Ahora quiero ver los datos en la tabla @A como se muestra a continuación
SUZUKI
GSX
1300
TWOWHEELER
Según ello, buscaré fabricantes de vehículos en mi mesa.
Así que por favor ayude a esto cómo puedo dividir mi cadena. También puedo obtener diferentes caracteres especiales en el futuro.
Solución
Hay algunas opciones excelentes disponibles en: http://www.sqlperformance.com/2012/07/t-sql-queries/split-strings
También hay soluciones que le permiten pasar el delimitador, por lo que podría pasar en diferentes en el futuro.