【问题标题】:Add comma for every column in SQL to make it delimited为 SQL 中的每一列添加逗号以使其分隔
【发布时间】:2020-06-23 09:16:34
【问题描述】:

请问下面的SQL,有没有办法为结果的每列添加一个逗号。 非常感谢

SELECT convert(nvarchar(16) , fcp.ServicePointID) as ServicePointID 
      , convert(nvarchar(15), fcp.ChannelNumber) as channelNumber
      , convert(nvarchar(20), recordingdevice.recordingdeviceid) as RecordingDeviceID
      , RegisterReading.DataValue as DataValue
      , convert(nvarchar(25), dateadd(hh, 8, RegisterReading.EndTime), 120)  as EndTime
      , convert(nvarchar(25), dateadd(hh, 8, ReadingGroup.ReceivedTime), 120)  as ReceivedTime
  FROM RegisterReading (nolock)

ServicePointID 通道号 1, 098, 2, 099, 3, 010,

【问题讨论】:

  • 我要问,为什么?在您的应用程序层中执行此操作似乎更合适。但您始终可以使用 CONCAT||(取决于您的 SQL 风格)添加逗号。
  • 这只是一个紧急修复,是的,您是正确的,我们将更改应用程序中的代码,如果您可以请分享在这种情况下如何实现 concat 方法,我可以添加,' ,' 如果可能的话,在每列之后。能否请教一下,非常感谢
  • CONCAT(convert(nvarchar(16) , fcp.ServicePointID), ',') 之类的东西应该适用于大多数 SQL 变体
  • 当我尝试 concat(convert(nvarchar(16), fcp.ServicePointID, ',')) 作为 ServicePointID 时,错误显示 concat 函数需要至少 2 个参数,请您指教,谢谢很多

标签: sql csv delimiter


【解决方案1】:

对于每一列: CONCAT(CONVERT(NVARCHAR(16) , column), ',') as columnalias

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 2018-07-13
    • 2012-09-08
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    相关资源
    最近更新 更多