首页 > 代码库 > SQL Server表名为什么要加方括号?

SQL Server表名为什么要加方括号?

我刚安装了Microsoft SQL Server 2000个人版,发现它的SQL语句怎么和标准不一样。比如我使用最简单的查询语句"select * from user"查询表user,结果它提示语法错误,后来系统自动给我纠正过来变成"select * from [user]",查询才成功执行了。
也就是说要给表名添加方括号才是正确的格式。

这个不是必须要加,但表名或字段名如果引用了sqlserver中的关键字,数据库会不识别这到底是关键字还是表名(或字段名)时就必须要加。

比如,一个表名叫user,user在sqlserver中属于关键字,那么查询的时候必须要这样:

select  * from [user];

同理,如果user属于字段名,也同样要加,如否则就会报错。

select * from 表名 where [user]=1;

-------------------------------------------------------------

因为"user"是SQL Server保留的关键字,所以用"select * from user"查询会提示语法错误。加上中过号,以声明其不是保留字。
如果表名不是关键字,如Company,则用"select * from Company"是没问题的,不用加中括号

 

SQL Server表名为什么要加方括号?