如果你的SQL是SQL2000varchar最长长度可以是8000,
如果是SQL2005以上版本可以支持varchar(max),最长可达2G的字段容量数据
你可以试试,也许你的1024还是不够。
区别: 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。 2.CHAR的效率比VARCHAR2的效率稍高。 3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是Oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。假如你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。 何时该用CHAR,何时该用varchar2? CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系 VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’。 VARCHAR2虽然比CHAR节省空间,但是假如一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。资料引用: >
创建表的时候可以指定每个列的数据类型和长度啊。
对于数值和日期类型,不需要指定长度,因为数值和日期类型所占的字节数是固定的,使用了哪种类型,宽度就自动计算出来了。
而字符串类型是需要指定长度的,char(n)代表定长字符串的宽度,varchar(n),其中的n代表变长字符串的最大长度。
设计数据库表的时候,需要考虑数据存储的内容,因为你是设计者你会更清楚所存储的值的内容是什么,给上合理的数据类型和长度,比如一个flag字段给的长度是char(1),如果DBA不清楚还要询问你长度是多少,如果他没有询问你,自作主张建了 char(10)这样有些影响查询效率。所以在你清楚的情况下,给定字段的长度是非常不错的
用户名 密码 真实姓名 电话 家庭地址 本人简介 varchar 长度50就好(家庭地址,本人简介 可适当加到:200)
性别 年龄 也可以是varchar 长度 4 就好 不适合用boolean (是否 作为性别的判断不太好,很少见)
性别如果用:0,1 替代用 int 长度 4
年龄 适合用int 长度 4
看你表中的数据长度,建议字段类型设为varchar(M),里面的数值可以设置大一点,VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中,不会浪费存储空间。
varchar2(50) 表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。
varchar2是Oracle中特有的一种数据库类型,与varchar的区别在于
varchar 存贮为定长
varchar2 存贮为不定长。
即:如果定义了一个字段为varchar(10),那么存贮到这个字段的值,不管有没有10个字符,都存贮为10个字符长度,不足的部份补足空格。而如果定义为varchar2(10),那么按实际值来存贮,即字段值有多长存贮为多长,不补足空格。这样,在进行字段值的比较时,varchar2显然比 varchar字段简单且不易出错。另外,在进行存贮时,varchar2 也比varchar节约存贮空间。因此建议用varchar2来代替varchar类型。除非你能确定这个字段存贮内容总是那么长,那么varchar字段也是可以用的。
varchar2的最大长度是4000
以上就是关于SQL Server数据库字段的长度全部的内容,包括:SQL Server数据库字段的长度、请教oracle数据库字段长度问题、如何在数据库中限制某字段长度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)