在SQL中转换()时保留列名

在SQL中转换()时保留列名,sql,sql-server,sql-convert,Sql,Sql Server,Sql Convert,如果我有SQL查询: select project.Employee, project.HoursQuantity, convert(varchar(10), project.EntryDate, 120) from db.Project as project 它将返回具有正确列名的ProjectHours和HoursQuantity,但将EntryDate返回为(无列名) 如何修复此问题或重命名列,以便在返回给用户的表上显示标题 我原以为数据会保留在同一列中,但我猜

如果我有SQL查询:

select
    project.Employee,
    project.HoursQuantity,
    convert(varchar(10), project.EntryDate, 120)
from db.Project as project 
它将返回具有正确列名的ProjectHours和HoursQuantity,但将EntryDate返回为(无列名)

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

我原以为数据会保留在同一列中,但我猜它会移到新的列中。我试着给它加上别名和其他一些东西,但都没用。

给它起一个相同的名字

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

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

有效的列别名方法:

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

将(varchar(10),project.EntryDate,120)转换为EntryDate
.db.project作为project
别名
名称应简短易读,而不是没有用处的确切表名。@Prdp在区分大小写的系统中不是确切的表名。:)您是否将此
db.Project视为Project
;)我只是举个例子。这不是我正在使用的实际代码/别名。我使用dbo.Project作为p,如果这让您感觉更好的话:PWhy使用的同样糟糕?我以为这是标准惯例。
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