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

我刚安装了MicrosoftSQLServer2000个人版,发现它的SQL语句怎么和标准不一样。比如我使用最简单的查询语句"select*fromuser"查询表use... 我刚安装了Microsoft SQL Server 2000个人版,发现它的SQL语句怎么和标准不一样。比如我使用最简单的查询语句"select * from user"查询表user,结果它提示语法错误,后来系统自动给我纠正过来变成"select * from [user]",查询才成功执行了。
也就是说要给表名添加方括号才是正确的格式。我就郁闷了,在网上找资料都没有提到Microsoft SQL Server有这个特点啊,难道是我的安装有问题吗?我现在刚开始学Microsoft SQL Server,希望各位高手指点一下小弟!
展开
 我来答
badkano
2015-07-04 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部

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

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

select * from [user]

否则就会报错。

同理,如果user属于字段名,也同样要加,如

select * from 表名 where [user]=1
北京陈晨
2008-08-13
知道答主
回答量:11
采纳率:0%
帮助的人:10.1万
展开全部
因为"user"是SQL Server保留的关键字,所以用"select * from user"查询会提示语法错误。加上中过号,以声明其不是保留字。
如果表名不是关键字,如Company,则用"select * from Company"是没问题的,不用加中括号
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旋天渣观9129
2008-08-13 · TA获得超过1487个赞
知道大有可为答主
回答量:1443
采纳率:0%
帮助的人:1616万
展开全部
[] 里的内容表示是一个用户级的变量.
目的是防止用户使用的名称和系统保留字冲突
比如你有一个表名就叫select
那么你select * from select肯定是不行的.
但是你select * from [select] 就没问题了
你那个user也是一样.
所有的表名字段名都可以加[],但是只要不跟系统关键字冲突就可以省略
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
戈漫勋7282
2008-08-13 · TA获得超过215个赞
知道答主
回答量:214
采纳率:0%
帮助的人:176万
展开全部
SQL的语句和INFORMIX等数据库的SELECT语句都是标准的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z591910251
2008-08-13 · 贡献了超过122个回答
知道答主
回答量:122
采纳率:0%
帮助的人:0
展开全部
去网上找1下把
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式