SQL раскол на основе делимера, оставьте только второй элемент
У меня есть код T-SQL, и я изучаю, как разделить
Aruba\abc
Spain\defg
New Zealand\qwerty
Antartica\sporty
Такой, что столбец выводит
abc
defg
qwerty
sporty
Пока что я нашел что-то вроде этого,
Но он разбивает столбец на основе разделителей на новые столбцы.
Я хочу сохранить информацию ПОСЛЕ разделителя \
пожалуйста, порекомендуйте
2 ответа
Решение
SELECT RIGHT(ColName , LEN(ColName) - CHARINDEX('\', ColName) )
FROM TABLEName
ИЛИ ЖЕ
SELECT PARSENAME(REPLACE(ColName , '\' , '.'),1)
FROM TableName
Если у вас есть пример переменной:
DECLARE @str VARCHAR(50) = 'aruba\abc'
SELECT SUBSTRING(@str,CHARINDEX('\', @str)+1, LEN(@str) - CHARINDEX('\', @str) )
Если у вас есть это в примере таблицы:
SELECT SUBSTRING(column1,CHARINDEX('\', column1)+1, LEN(column1) - CHARINDEX('\', column1) )
FROM table1
Вот как это работает: http://sqlfiddle.com/