sql日期作为列名

时间:2013-06-17 08:05:21

标签: sql datetime dynamic-sql

我想要一个包含以日期命名的列的表。

示例:

SELECT * AS GETDATE() FROM mytable;

从我在互联网上看到的内容来看,似乎我需要使用动态SQL(?)的内容:

DECLARE @dt smalldatetime
SET @dt = GETDATE()
DECLARE @str varchar(100)
SET @str = 'SELECT * AS ' + convert(varchar(100), GETDATE(), 120) + ' FROM mytable'
EXEC(@str);

但这不起作用。说“关键字'AS'附近的语法不正确

2 个答案:

答案 0 :(得分:1)

我所要做的就是从SELECT *改为SELECT [我需要的东西]

DECLARE @dt smalldatetime
SET @dt = GETDATE()
DECLARE @str varchar(100)
SET @str = 'SELECT Item AS ' + convert(varchar(100), GETDATE(), 120) + ' FROM mytable'
EXEC(@str);

这有效。

答案 1 :(得分:0)

试试这个:

DECLARE @dt smalldatetime

SET @dt = GETDATE()

DECLARE @str varchar(100)

SET @str = 'SELECT Item AS '+'''' + convert(varchar(100), GETDATE(), 120) +'''' + ' FROM mytable'
EXEC(@str);