SQL在逗号出现时将字符串分割,然后以相反的顺序将其连接起来

时间:2013-11-15 20:33:36

标签: sql sql-server

我有一个以这种方式拥有数据的列,

表1

全名

Lastname1, Firstname1

Lastname2, Firstname2

Lastname3, Firstname3

我想要结果,

Firstname1 Lastname1

Firstname2 Lastname2

Firstname3 Lastname3

当我使用此查询时

SELECT (substring(Name,charindex(',',Name)+1 ,250)+ SUBSTRING(Name,0, CHARINDEX(',',Name))) from @table1

我得到的结果是

Firstname1 ...

Firstname2 ......

Firstname3 ...

请帮忙

3 个答案:

答案 0 :(得分:1)

工作示例:http://sqlfiddle.com/#!3/0fc0f/16/0

Select 
right(name,len(name)-charindex(', ',name)) + ' ' +
left(name,charindex(', ',name)-1)
from @table1;

答案 1 :(得分:0)

提供的名称不包含。你可以使用

parsename ( replace ( name, ',','.'),1) + ' ' + parsename ( replace ( name, ',','.'),2)

答案 2 :(得分:0)

试试这个:

SELECT RIGHT(name,len(name)-CHARINDEX(',',name,0))+' '+LEFT(name,CHARINDEX(',',name,0)-1),name,CHARINDEX(',',name,0)
from @table1