Как найти специальные символы в строке и разделить слова на SQL Server?

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

  •  25-08-2022
  •  | 
  •  

Вопрос

У меня есть такая строка 'suzuki gsx_1300/twowhealer'

Теперь я хочу разделить вышеупомянутую строку на слова и вставить одно за другим словом в одну таблицу.

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

Теперь я хочу увидеть данные в таблице @a, как ниже

SUZUKI
GSX
1300
TWOWHEELER

Исходя из этого, я буду искать производителей транспортных средств в моем столе.

Поэтому, пожалуйста, помогите в этом, как я могу разделить свою строку, я могу получить разные специальные символы в будущем.

Это было полезно?

Решение

Есть несколько отличных вариантов, доступных по адресу: http://www.sqlperformance.com/2012/07/t-sql-queries/split-strings

Существуют решения, которые позволяют вам пройти также разделитель, так что вы можете пройти в разные из них в будущем.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top