数据库sql语句,建立表的时候。加不加不加[]中括号什么区别?谢谢

比如:
create table [dbo].[T]
(
[id] [int] primary key,
[name] [varchar] not null
)

书上是这么写的带中括号的。
但是也我把中括号去了可是可以通过的(除了varchar那个地方)。
问题如下:
1、加不加中括号有什么区别吗?
2、目前发现的第一个区别就是[varchar]等价于varchar(10),对吗?还有什么区别?
3、为一个不大相关的问题,nvarchar和varchar有什么区别。
谢谢大家

第1个回答  2013-07-30
[]是用来增强容错能力的,比如:表名用数字开头,没有用[]是不可以用的,可加上[]数字开头也可用了。一般情况[]可以省略。本回答被提问者采纳
第2个回答  2013-07-30
[ ] 表示括号里的内容不作为关键字对待,如果你的字段名是Sql中关键字,那么不加[ ]会出错。
第3个回答  2013-07-30
nvarchar “去空格” 的“变长”字符串类型,varchar就是“变长”字符串,char是“定长”字符串
相似回答