2

如果我有 SQL 查询:

select
    project.Employee,
    project.HoursQuantity,
    convert(varchar(10), project.EntryDate, 120)
from db.Project as project 

它将以正确的列名返回 ProjectHours 和 HoursQuantity,但将 EntryDate 作为(无列名)返回。

如何解决此问题或重命名列,以便在返回给用户的表上显示标题?

我认为数据将保留在同一列中,但我猜它会移动到新列中。我尝试给它起别名和其他一些东西,但它没有奏效。

4

2 回答 2

8

给它一个同名的别名

select
    project.Employee,
    project.HoursQuantity,
    convert(varchar(10), project.EntryDate, 120) as EntryDate
from db.Project as project 
于 2017-01-24T15:08:42.927 回答
0

我首选的列别名方法是alias = expression

要踢的坏习惯:使用 AS 而不是 = 作为列别名 - Aaron Bertrand - 2012-01-23

select
    project.Employee,
    project.HoursQuantity,
    EntryDate = convert(varchar(10), project.EntryDate, 120)
from db.Project as project 

有效的列别名方法:

select 1 as x;    -- #1
select x = 1;     -- #2
select 'x' = 1 ;  -- #3
select [x] = 1 ;  -- #4
select 1 x;       -- #5
select 1 as 'x';  -- #6
select 1 'x';     -- #7
select 1 as [x];  -- #8
select 1 [x];     -- #9
于 2017-01-24T16:40:53.307 回答