asa中的char数据类型是不是定长的?
如题在ASA数据库中的char数据类型会不会导致用空格填充整个字符串长度(这意味着无论实际字符串的长度是多少,char数据类型都需要max-length字节的存储)??
另外,ASA数据库中的char与varchar这两种数据类型有什么异同?
[ 本帖最后由 lwbliang2 于 2008-8-26 14:43 编辑 ] ASA8测试了一下,好像CHAR也不填充的。 多谢楼上的
我百度到一段资料,"Varchar与char的区别"
原文如下:
Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节
char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节
Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"
而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。
由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!
不知在ASA8中,这段解释正不正确? 你做个表放数据进去测试一下就知道了。 你的理解很正确
char就是固定长度,如果字符串没填满,则就空格填满,在程序处理的时候需要考虑空格的问题
varchar是变长
页:
[1]