基于分隔符的SQL拆分,只保留第二个元素

时间:2015-08-11 19:48:42

标签: sql-server string split delimiter

我有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 个答案:

答案 0 :(得分:2)

SELECT RIGHT(ColName , LEN(ColName) - CHARINDEX('\', ColName) )
FROM TABLEName

OR

SELECT PARSENAME(REPLACE(ColName , '\' , '.'),1)
FROM TableName

答案 1 :(得分:1)

如果您将其作为变量示例:

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/#!6/85de5/1