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

Tom*_*Tom 1 sql sql-server

我试图从表中选择一个名为"YEAR"的列.

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

SELECT * FROM OPENQUERY (mybook, 'SELECT mytable.year FROM mytable')
Run Code Online (Sandbox Code Playgroud)

但是当我使用它时不是:

SELECT * FROM OPENQUERY (mybook, 'SELECT year FROM mytable')
Run Code Online (Sandbox Code Playgroud)

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

Nei*_*ght 6

在SQL Server中,Year是一个保留字.所以当你尝试使用它时它会抱怨.

如果您使用的是MySql,则可以使用年份后面的刻度(`).

在SQL Server中,你可以使用[]"s左右year,[year].

编辑

看到更新后的问题后,以下SQL应该可以正常工作:

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