建SQL表时身份证号码的数据类型最好选什么

如题所述

建SQL表时,身份证号码为固定18位长,对该字段最好采用char数据类型

char类型对英文字符占用1个字节,对一个汉字占用2个字节,而且char存储定长数据很方便,char字段上的索引效率极高。

比如:定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不够的字符用空格去填。因为是固定长度,所以速度效率高。



扩展资料

比较SQL中的char、varchar、nchar、nvarchar的区别

1、前面加“n”与不加“n”

char、varchar这两个只能用于单字节来存储数据,适合英文,中文会不兼容。常用的汉字需要用两个字节来存储,所以就要使用nchar、nvarchar。

char、varchar因为是单字节的所以在存储的时候最大数值可以达到8000,而nchar、nvarchar是最大数值4000。

2、char与varchar的区别

直接举例子:char(10)就是给予一个固定的空间,不管存储的内容有没有到达10个字节,都占用10个字节的空间,同时,varchar(10)和nvarchar(10)的最大空间只能为10字节,如果不到10字节就不占用10字节。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-30
最好选择:nvarchar(20)
因为身份证是可能有X所有不能选择int型
varchar(20):如果插入起过20位字符不会报错,导致非真实数据保存,个人觉得,nvarchar比较好
第2个回答  2014-10-30
字符型 因为有末位有X的 身份证号码
第3个回答  2014-10-30
nvarchar(20)

这个好点
第4个回答  2014-10-30
varchar(20)
如字段值只是英文,数字可选择varchar,英文,数字占一个字节
而字段值存在较多的双字节(中文)字符时用nvarchar, 任何字符占二个字节本回答被提问者和网友采纳