数据库char,varchar,nchar,nvarchar类型分别有什么区别?各自在什么情况下使用比较好?

2025-02-25 21:44:15
推荐回答(2个)
回答1:

简单的说char和nchar只能存储单字节字符如A、a、1、3等,存储字符的长度是不可变的,如char(5) 那么输入Aa俩那个字符,存储空间会用空白填满其他三个空位,物理存储的还是5个字符的长度。
varchar和nvarchar可以存储单字节和双字节字符,可变长度的,区别同上。
char和nchar很少用,varchar和nvarchar用的比较多,由于nvarchar会浪费存储空间,所以一般情况下用varchar的时候比较多,nvarchar是保证定义的长度是100,那么不管输入的单字节还是双字节字符都不能超过100,而varchar大小为100那么单字节字符输入不能超过100,而双字节输入的最大数就只有50

回答2:

char:固定长度的非unicode字符数据;varchar:可变长度的非unicode字符数据;nchar:固定长度的unicode字符数据;nvarchar:可变长度的unicode字符数据。
unicode是一种编码方式,不是编程语言。
一般情况下最好使用可变长度的。