sqlserver 数据库中数据表的字段名成加中括号是什么意思啊?在线等!
谢谢!
比如:定义数据表的时候,有个字段是这样显示的[position],为什么会有中括号阿?
着急啊!

解决方案 »

  1.   

    如,你要用select做字段名,需要[select],否则系统会报错
      

  2.   

    用以区别关键字create table [mytable]
    (
    id int,
    name varchar(10)
    )这里的中括号可以去掉create table [group]
    (
    id int,
    name varchar(10)
    )
    这里的就不可以去掉
    因为group是sql server的关键字
      

  3.   

    下表列出了 SQL Server 的保留关键字。ADD               EXCEPT  PERCENT 
    ALL               EXEC  PLAN 
    ALTER             EXECUTE           PRECISION 
    AND    EXISTS  PRIMARY 
    ANY    EXIT  PRINT 
    AS  FETCH  PROC 
    ASC  FILE  PROCEDURE 
    AUTHORIZATION  FILLFACTOR  PUBLIC 
    BACKUP  FOR  RAISERROR 
    BEGIN  FOREIGN           READ 
    BETWEEN    FREETEXT           READTEXT 
    BREAK  FREETEXTTABLE  RECONFIGURE 
    BROWSE  FROM  REFERENCES 
    BULK  FULL  REPLICATION 
    BY  FUNCTION           RESTORE 
    CASCADE           GOTO  RESTRICT 
    CASE  GRANT  RETURN 
    CHECK  GROUP  REVOKE 
    CHECKPOINT  HAVING  RIGHT 
    CLOSE  HOLDLOCK           ROLLBACK 
    CLUSTERED  IDENTITY           ROWCOUNT 
    COALESCE           IDENTITY_INSERT   ROWGUIDCOL 
    COLLATE           IDENTITYCOL  RULE 
    COLUMN  IF  SAVE 
    COMMIT  IN  SCHEMA 
    COMPUTE           INDEX  SELECT 
    CONSTRAINT  INNER  SESSION_USER 
    CONTAINS           INSERT  SET 
    CONTAINSTABLE  INTERSECT  SETUSER 
    CONTINUE           INTO  SHUTDOWN 
    CONVERT           IS  SOME 
    CREATE  JOIN  STATISTICS 
    CROSS  KEY  SYSTEM_USER 
    CURRENT           KILL  TABLE 
    CURRENT_DATE  LEFT  TEXTSIZE 
    CURRENT_TIME  LIKE  THEN 
    CURRENT_TIMESTAMP LINENO           TO 
    CURRENT_USER  LOAD  TOP 
    CURSOR  NATIONAL           TRAN 
    DATABASE           NOCHECK           TRANSACTION 
    DBCC  NONCLUSTERED  TRIGGER 
    DEALLOCATE  NOT  TRUNCATE 
    DECLARE           NULL  TSEQUAL 
    DEFAULT           NULLIF  UNION 
    DELETE  OF  UNIQUE 
    DENY  OFF  UPDATE 
    DESC  OFFSETS           UPDATETEXT 
    DISK  ON  USE 
    DISTINCT   OPEN  USER 
    DISTRIBUTED  OPENDATASOURCE  VALUES 
    DOUBLE  OPENQUERY  VARYING 
    DROP  OPENROWSET  VIEW 
    DUMMY  OPENXML           WAITFOR 
    DUMP  OPTION  WHEN 
    ELSE  OR  WHERE 
    END  ORDER  WHILE 
    ERRLVL  OUTER  WITH 
    ESCAPE  OVER  WRITETEXT
      

  4.   

    加中括号可以用关键字命名字段的名称.当然不止中括号可以,""双引号也可以用.
    create table tt ("table" int)select * from tt
    table       
    ----------- (所影响的行数为 0 行)