varchar(9) varchar(900) 有区别吗?请听我道来 如有一个字段为varchar(9),输入abc,占三个字节;若改为varchar(900),同样输入abc,同样也占三个字节;既然一个字段定义为varchar(9)和varchar(900)占用空间都一样,为何不都定义为varchar(MAX)省事呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果定义varchar(MAX),就占5个字节 Varchar 对每个英文(ASCII)字符都占用2个字节,对一个汉字也只占用两个字节char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!而varchar(max)实际上是varchar(n)的一种变形,他的存储大小是输入数据的实际长度加 2 个字节 好像Varchar 对每个英文(ASCII)字符也只用一个字节吧,nvarchar才是两个字节。我的意思是varchar(n)里的n对存储空间有影响吗?因为varchar是按实际输入的字符来算的,而不管n为多少。 look this is difference varchar(09) 只能输入 《= 9个字节 , 多出来会自动截断ex: declare @s varchar(09) select @s = '9999999999888888888888888' select @s --- 运行下就知道了 一个常识问题 如何将一个数据库中的数据导入另一个数据库? 求一SQL,大家帮帮忙. 日期转换 SQL续...... SqlServer树形结构的深度排序怎么实现? 简单问题 求解sql进程占用问题 求SQL语句 $$$$$$$$如何得到局域网中所有的SQL实例的例表$$$$$$$$$$ 基础 求教:数据库设计大赛的题目(有企业背景的,最好是有新意的)
char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"
而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!而varchar(max)实际上是varchar(n)的一种变形,他的存储大小是输入数据的实际长度加 2 个字节
我的意思是varchar(n)里的n对存储空间有影响吗?因为varchar是按实际输入的字符来算的,而不管n为多少。
look this is difference
select @s = '9999999999888888888888888'
select @s --- 运行下就知道了