选择名为YEAR的列时出现SQL错误

时间:2011-03-07 16:39:12

标签: sql sql-server

我正在尝试从表中选择一个名为“YEAR”的列。

我可以使用以下方法实现此目的:

SELECT * FROM OPENQUERY (mybook, 'SELECT mytable.year FROM mytable')

但不是在我使用它时:

SELECT * FROM OPENQUERY (mybook, 'SELECT year FROM mytable')

这是因为“年”是某种保留字还是还有其他原因?

3 个答案:

答案 0 :(得分:6)

在SQL Server中,Year是保留字。因此,当您尝试使用它时会抱怨。

如果您使用的是MySql,则可以在年底前使用反向刻度(`)。

在SQL Server中,您可以在[]year周围使用[year]

修改

在看到更新后的问题后,以下SQL应该可以运行:

SELECT * FROM OPENQUERY (mybook, 'SELECT [year] FROM mytable')

答案 1 :(得分:4)

使用

SELECT [year] FROM mytable

答案 2 :(得分:3)

SELECT [year] FROM mytable

在字段名称周围使用括号