SQL 根据分隔符拆分,只保留第二个元素
SQL split based on delimeter, keep only second element
我有 T-SQL 代码,正在研究如何拆分
Aruba\abc
Spain\defg
New Zealand\qwerty
Antartica\sporty
使得该列输出
abc
defg
qwerty
sporty
到目前为止,我发现了这样的东西,
但它会根据分隔符将列拆分为新列。
我希望保留分隔符后的信息 \
请指教
如果你把它作为变量示例:
DECLARE @str VARCHAR(50) = 'aruba\abc'
SELECT SUBSTRING(@str,CHARINDEX('\', @str)+1, LEN(@str) - CHARINDEX('\', @str) )
如果您在 table 示例中有它:
SELECT SUBSTRING(column1,CHARINDEX('\', column1)+1, LEN(column1) - CHARINDEX('\', column1) )
FROM table1
这是它的一个 sqlfiddle:http://sqlfiddle.com/#!6/85de5/1
SELECT RIGHT(ColName , LEN(ColName) - CHARINDEX('\', ColName) )
FROM TABLEName
或
SELECT PARSENAME(REPLACE(ColName , '\' , '.'),1)
FROM TableName
我有 T-SQL 代码,正在研究如何拆分
Aruba\abc
Spain\defg
New Zealand\qwerty
Antartica\sporty
使得该列输出
abc
defg
qwerty
sporty
到目前为止,我发现了这样的东西,
但它会根据分隔符将列拆分为新列。
我希望保留分隔符后的信息 \
请指教
如果你把它作为变量示例:
DECLARE @str VARCHAR(50) = 'aruba\abc'
SELECT SUBSTRING(@str,CHARINDEX('\', @str)+1, LEN(@str) - CHARINDEX('\', @str) )
如果您在 table 示例中有它:
SELECT SUBSTRING(column1,CHARINDEX('\', column1)+1, LEN(column1) - CHARINDEX('\', column1) )
FROM table1
这是它的一个 sqlfiddle:http://sqlfiddle.com/#!6/85de5/1
SELECT RIGHT(ColName , LEN(ColName) - CHARINDEX('\', ColName) )
FROM TABLEName
或
SELECT PARSENAME(REPLACE(ColName , '\' , '.'),1)
FROM TableName