创建测试表CharTest
使用LEN和DataLength函数测试
–Len(参数) --计算指定参数的字符串个数,不区分中英文
–DataLength(参数)–计算指定参数的所占据字节长度。一个因为一个字节,但一个中文两个字节
- 测试Char
select LEN(Char) from CharTest
select DataLength(Char) from CharTest
- 测试Varchar
select LEN(Varchar) from CharTest
select DataLength(Varchar) from CharTest
- 测试Nchar
select LEN(Nchar) from CharTest
select DataLength(Nchar) from CharTest
- 测试Nvarchar
select LEN(Nvarchar) from CharTest
select DataLength(Nvarchar) from CharTest
总结:
Varchar var–可变的,说明分配的空间是一个可以动态变化的空间,当存储的字符长度小于分配的空间时,多余的空间会自行回收;当存储的字符长度大于分配的空间时,会报错
n–代表unicode字符,任何字符都占用两个字节,当以后有中文字的时候,可以用它
1、当存储的字符长度区别较大时,可以使用varchar、nvarcha,减少空间浪费,但同时会增加计算机性能
2、当存储的字符长度区别不大时,可以使用char、nchar即可