Date 使用表达式结果(例如月份)作为SQL Express中的列名

Date 使用表达式结果(例如月份)作为SQL Express中的列名,date,sql-server-express,column-alias,Date,Sql Server Express,Column Alias,我正在编写一个SQL表达式,希望使用当前月份作为列名/标题 代码: Select MONTH(GETDATE()) AS MONTH(GETDATE()) FROM SomeTable; 错误: Select MONTH(GETDATE()) AS MONTH(GETDATE()) FROM SomeTable; 错误102:“GETDATE”附近的语法不正确 这是一个学校项目,我不确定这是否可能。如果是的话,我可能会把那个月的编号转换成实际的月份名称。提前谢谢 哦,我正在使用LinqPad

我正在编写一个SQL表达式,希望使用当前月份作为列名/标题

代码:

Select MONTH(GETDATE()) AS MONTH(GETDATE())
FROM SomeTable;
错误:

Select MONTH(GETDATE()) AS MONTH(GETDATE())
FROM SomeTable;
错误102:“GETDATE”附近的语法不正确

这是一个学校项目,我不确定这是否可能。如果是的话,我可能会把那个月的编号转换成实际的月份名称。提前谢谢

哦,我正在使用LinqPad测试远程DB和SQL Express服务器(Transact-SQL)上的查询

干杯,
Lindsay

我认为,您不能在列alias中使用函数,如果您尝试使用该函数,则会得到错误的syntex“预期ID、QUOTED\u ID、STRING或TEXT\u LEX”,这意味着必须对别名文本进行硬编码


我建议您使用前端应用程序将当前月份设置为标题,而不是依赖后端sql查询。

计算列的别名不应包含任何函数-仅包含文本:

SELECT
   MONTH(GETDATE()) AS 'Month'
FROM 
   dbo.SomeTable

为什么要返回别名的名称。您可以在前端UI上使用任何语言设置列标题…她不想在列本身中获取日期名称。她希望将其作为别名,我希望使用该表达式(当前月份)的值作为列标题本身。例如三月。当前月份发生了变化,所以我不能使用硬编码值。好吧,我认为这是一个很长的机会…问一下也无妨。谢谢你的回复。我将在业务逻辑中编写代码。