在SQL中转换()时保留列名
如果我有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返回为(无列名) 如何修复此问题或重命名列,以便在返回给用户的表上显示标题 我原以为数据会保留在同一列中,但我猜
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