concatenating string

半世苍凉 提交于 2019-12-18 09:03:22

问题


Is there a way in SQL sever that can write the output as follow:

select events
  from mytable

original output

events
--------
123456
894531
985233
829292
920202
392939
299223

desired output

'123456', '894531','985233','829292','920202','392939','299223'

select '' + CustomerID + ',' from dbo.Customers customerid ALFKI, ANATR, ANTON, AROUT, BERGS,

Would like to see the result as customerid 'ALFKI', 'ANATR', 'ANTON', 'AROUT', 'BERGS', so on...


回答1:


SELECT
  STUFF(
    (SELECT
      ', ' + events
     FROM dbo.mytable
     FOR XML PATH('')
    ), 1, 1, '') As concatenated_string

If you want the values enclosed in single quotes then edit the padding above.




回答2:


Concatenating Row Values in Transact-SQL discusses the various options you have, like recursive CTE, blackbox XML (like Mitch' solution), CLR, cursors, recursive scalar UDFs etc etc, as well as some unreliable but fast approaches (SELECT with variable concatenation).



来源:https://stackoverflow.com/questions/4019942/concatenating-string

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!