Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL在出现逗号时分割字符串,并按相反顺序将其重新连接_Sql_Sql Server - Fatal编程技术网

SQL在出现逗号时分割字符串,并按相反顺序将其重新连接

SQL在出现逗号时分割字符串,并按相反顺序将其重新连接,sql,sql-server,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, CHARINDE

我有一个列,它有这样的数据

表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
我得到的结果是

名字1

名字2

名字3

请帮助工作示例:

工作示例:


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

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

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

parsename ( replace ( name, ',','.'),1) + ' ' + parsename ( replace ( name, ',','.'),2)
试试这个:

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

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


您只想将表中的所有字段连接起来吗?或者是否有一些字段可以用来确定哪些行属于同一行?结果有什么问题?除了添加额外的空间外,这似乎基本上是可行的?在我看来,您只需要在两个子字符串之间添加一个空格。您是否使用某种显示方式,在列变宽时将
放入?是否希望表中的所有字段都连接在一起?或者是否有一些字段可以用来确定哪些行属于同一行?结果有什么问题?除了添加额外的空间外,这似乎基本上是可行的?在我看来,您只需要在两个子字符串之间添加一个空格。您是否使用某种显示方式,在列变宽时将
放入其中?此查询以这种方式向我提供结果。。。Lasttname1 Lastnmame2名字有空格。。。但是名字没有出现…嗨,谢谢你的回复。。。这个很好用。。。我只是想知道。。。为什么它第一次不起作用。。。谢谢此查询以这种方式向我提供结果。。。Lasttname1 Lastnmame2名字有空格。。。但是名字没有出现…嗨,谢谢你的回复。。。这个很好用。。。我只是想知道。。。为什么它第一次不起作用。。。谢谢谢谢你的回复。。。但是结果还是一样的。。。它有名字和姓氏被句号取代…奇怪似乎为我工作无论如何你已经有一对夫妇的工作解决方案。谢谢回复。。。但是结果还是一样的。。。它有firstname,lastname替换为句点…Odd似乎对我有效。您已经有了一些有效的解决方案。我在执行此查询时遇到的错误是必须声明标量变量“@T”。我在执行此查询时遇到的错误是必须声明标量变量“@T”。