SQL раскол на основе делимера, оставьте только второй элемент

У меня есть код T-SQL, и я изучаю, как разделить

Aruba\abc
Spain\defg
New Zealand\qwerty
Antartica\sporty

Такой, что столбец выводит

abc
defg
qwerty
sporty

Пока что я нашел что-то вроде этого,

http://www.aspsnippets.com/Articles/Split-function-in-SQL-Server-Example-Function-to-Split-Comma-separated-Delimited-string-in-SQL-Server-2005-2008-and-2012.aspx

Но он разбивает столбец на основе разделителей на новые столбцы.

Я хочу сохранить информацию ПОСЛЕ разделителя \

пожалуйста, порекомендуйте

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/

Другие вопросы по тегам