gpt4 book ai didi

sql - 如何将表列标题添加到sql select语句

转载 作者:行者123 更新时间:2023-12-02 23:08:42 37 4
gpt4 key购买 nike

我有一个像这样的 SQL select 语句:

select FirstName, LastName, Age from People

这将返回类似表格的内容:

Peter  Smith    34
John Walker 46
Pat Benetar 57

我想要的是将列标题插入第一行,如下所示:

First Name  Last Name  Age
=========== ========== ====
Peter Smith 34
John Walker 46
Pat Benetar 57

有人可以建议如何实现这一目标吗?

您可以创建一个包含标题的临时表并将数据附加到其中吗?

最佳答案

上面的答案都不起作用,除非您的所有名字都按排序顺序出现在“第一个”之后。

Select FirstName, LastName
from (
select Sorter = 1, FirstName, LastName from People
union all
select 0, 'FirstName', 'LastName') X
order by Sorter, FirstName -- or whatever ordering you need

如果您也想对所有非 varchar 列执行此操作,缺点是(至少):

  1. 您的所有数据都将变为 VARCHAR。例如,如果您使用 Visual Studio,您将无法再识别或使用日期值。或 int 值。或任何其他与此相关的内容。
  2. 您需要明确提供日期时间值的格式,例如 DOB。 Varchar 中采用 dd-mm-yyyy 格式(如果您选择将其转换为该格式)的 DOB 值将无法正确排序。

实现此目的的 SQL 不推荐

Select FirstName, LastName, Age, DOB
from (
select Sorter = 1,
Convert(Varchar(max), FirstName) as FirstName,
Convert(Varchar(max), LastName) as LastName,
Convert(Varchar(max), Age) as Age,
Convert(Varchar(max), DOB, 126) as DOB
from People
union all
select 0, 'FirstName', 'LastName', 'Age', 'DOB') X
order by Sorter, FirstName -- or whatever ordering you need

关于sql - 如何将表列标题添加到sql select语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4964162/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com