SQL错误 - 关键字'IS'附近的语法错误 - SQL中的数据库名称问题?

时间:2013-05-28 20:20:37

标签: sql-server

我正在尝试使用“Microsoft Query”执行一个非常简单的SQL查询。我可以连接到表,选择我需要的列,但是当我尝试执行时,我会收到错误信息,说“关键字'IS'附近的语法不正确”

我通过自动查询得到了下面的SQL语句,但它没有成功执行。我想我知道问题是什么。这是因为我的数据库目录名称是“IS”。我尝试在我的其他数据库上使用不同的名称执行相同的查询,它工作正常。由于我可以访问多个数据库,因此我需要指定我在脚本中访问哪个数据库,这就是它导致此问题的时间。在我的情况下是否有解决方法,我可以避免使用数据库名称并可能声明变量?

SELECT Table1.id, 
Table1.Name, 
Table1.Status,
Table1.DateEntered
FROM IS.dbo.Table1 Table1

OR

SELECT * FROM IS.dbo.Table1 Table1 (Same error msg)

2 个答案:

答案 0 :(得分:7)

IS是一个SQL保留关键字,您必须用[]

包装它
SELECT * FROM [IS].dbo.Table1 Table1 (Same error msg)

然而,在不使用保留关键字的情况下命名表或总是在表名周围使用括号

,这是一个很好的做法 - 以及错误避免技术

答案 1 :(得分:3)

我认为IS是保留关键字。尝试将其包裹在方括号内:

SELECT Table1.id, Table1.Name, Table1.Status, Table1.DateEntered FROM [IS].dbo.Table1 Table1