¿Cómo encontrar los caracteres especiales en una cadena y dividirse en palabras en SQL Server?

StackOverflow https://stackoverflow.com/questions/20353627

  •  25-08-2022
  •  | 
  •  

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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top