如何使用管道分隔获取 SQL select 查询的列 Header

How to get the Column Header for the SQL select query with Pipe delimited

我写了一个 SQL 服务器 select 格式为“|”的查询分隔但我没有得到列名称 Header 只有值正在打印。我是 SQL 服务器的新手,尝试使用不同的方式作为列别名,但没有成功。 请帮忙解决这个问题。

     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

如何显示下面的 Header 以及使用上述查询的值。
ID|LTL|Safely|Dock|Required|Hours|Dock|Jack|Carrier_Dolly|Pallets|WgPallets|NoBoxes|WgBoxes|Cabinets|Racks|Batteries|Sited|Date_Enter

提前致谢

如果您希望 headers 作为结果行出现在 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
;

最后:

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

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