微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用管道分隔获取 SQL 选择查询的列标题

如何解决如何使用管道分隔获取 SQL 选择查询的列标题

我写了一个 sql Server 选择查询,格式为“|”分隔但我没有得到列名称标题只有值正在打印。我是 sql Server 的新手,尝试过作为列别名的不同方式,但没有成功。 请帮忙解决这个问题。

     SELECT ID  + '|' 
          +  LTL + '|' 
          + Safely + '|' 
          + Dock + '|' 
          + required + '|'
          + Hours + '|'
          + Dock + '|' 
          + Jack + '|' 
          + Dolly + '|'
          + convert(varchar(100),Pallets) + '|'
          + convert(varchar(100),wgPallets) + '|'
          + convert(varchar(100),NoBoxes) + '|'
          + convert(varchar(100),WgBoxes) + '|'
          + convert(varchar(100),Cabinets) + '|'
          + convert(varchar(100),Racks) + '|'
          + Batteries + '|' 
          + Sited + '|' 
          + convert(varchar(23),Date_Enter,121) + '|' 
          FROM sales

如何使用上面的查询显示如下的 coulmn Header 和值。
ID|LTL|Safely|Dock|required|Hours|Dock|Jack|Carrier_Dolly|Pallets|WgPallets|NoBoxes|WgBoxes|Cabinets|Racks|Batteries|Sted|Date_Enter

提前致谢

解决方法

如果您希望标题在 SQL 中显示为结果行,您必须告诉 SQL 引擎。

这可以通过 UNION 来完成:

SELECT
  'ID|LTL|Safely|Dock|Required|Hours|Dock|Jack|Carrier_Dolly|Pallets|WgPallets|NoBoxes|WgBoxes|Cabinets|Racks|Batteries|Sited|Date_Enter' AS csv_output
UNION
SELECT 
  ID  + '|' 
    +  LTL + '|' 
    + Safely + '|' 
    + Dock + '|' 
    + Required + '|'
    + Hours + '|'
    + Dock + '|' 
    + Jack + '|' 
    + Dolly + '|'
    + convert(varchar(100),Pallets) + '|'
    + convert(varchar(100),wgPallets) + '|'
    + convert(varchar(100),NoBoxes) + '|'
    + convert(varchar(100),WgBoxes) + '|'
    + convert(varchar(100),Cabinets) + '|'
    + convert(varchar(100),Racks) + '|'
    + Batteries + '|' 
    + Sited + '|' 
    + convert(varchar(23),Date_Enter,121)
FROM
  sales
;

最后:

这不是很优雅。在导出选项(取决于您使用的工具)中,通常有一个选项可以将列的标题导出为单独的行并设置分隔符(在您的情况下为管道符号)。

我个人推荐这种方法,因为我可以对结果使用相同的视图,并且能够将导出和数据选择的逻辑彼此分开。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。