lwbliang2 发表于 2008-8-26 14:41:07

asa中的char数据类型是不是定长的?

如题
在ASA数据库中的char数据类型会不会导致用空格填充整个字符串长度(这意味着无论实际字符串的长度是多少,char数据类型都需要max-length字节的存储)??
另外,ASA数据库中的char与varchar这两种数据类型有什么异同?

[ 本帖最后由 lwbliang2 于 2008-8-26 14:43 编辑 ]

ehxz 发表于 2008-8-26 16:01:32

ASA8测试了一下,好像CHAR也不填充的。

lwbliang2 发表于 2008-8-29 11:14:59

多谢楼上的
我百度到一段资料,"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中,这段解释正不正确?

ehxz 发表于 2008-8-29 14:20:26

你做个表放数据进去测试一下就知道了。

ribut9225 发表于 2008-9-8 08:55:51

你的理解很正确
char就是固定长度,如果字符串没填满,则就空格填满,在程序处理的时候需要考虑空格的问题
varchar是变长
页: [1]
查看完整版本: asa中的char数据类型是不是定长的?

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com