我正在尝试从表中选择一个名为“YEAR”的列。
我可以使用以下方法实现此目的:
SELECT * FROM OPENQUERY (mybook, 'SELECT mytable.year FROM mytable')
但不是在我使用它时:
SELECT * FROM OPENQUERY (mybook, 'SELECT year FROM mytable')
这是因为“年”是某种保留字还是还有其他原因?
答案 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
在字段名称周围使用括号