日期:2014-05-17  浏览次数:20485 次

括号
问题:
[t1] 为什么要打个括号,[Comments]也是,为什么要括号?


SQL code

SELECT id,videoid,ip,author,loginname,[content],dateadded,display,replyto FROM 
(SELECT ROW_NUMBER() OVER (ORDER BY DateAdded DESC) AS [ROW_NUMBER], id,videoid,ip,author,loginname,[content],dateadded,display,replyto 
FROM [Comments] where videoid=19 and display=1 and replyto=0) 
AS [t1] WHERE [t1].[ROW_NUMBER] BETWEEN 11 and 21



------解决方案--------------------
为了防止和数据库本身的关键字冲突。引起错误。
------解决方案--------------------
SQLServer或者其他的DBMS都有一定数量的关键字、保留字等等,比如table,如果你要见一个表名为table的,那不一定报错,但是也不一定不报错。但是[table]那就可以一直用。
最简单的方法,你在ssms或者查询分析器编码时,如果看到你希望用的那个单词(作为名词而不是作为命令使用时)是蓝色或者绿色的,你就用[]吧