数据库中身份证有18位,用什么类型表示

只能用文本类型吗?长整数只能保存9位。如果用小数表示,使用科学表示法,查看不直观。而且,使用VC编程时,所用类型转换不直接。请问身份证号码最好的表示类型是什么?看来大家都... 只能用文本类型吗?长整数只能保存9位。如果用小数表示,使用科学表示法,查看不直观。而且,使用VC编程时,所用类型转换不直接。请问身份证号码最好的表示类型是什么?
看来大家都有相同的意见,就是使用文本类型,规定18位(相信近期不会改变位数),然后使用编程语言进行预检查其有效性,最可行的预检手段(针对18位),我是这么实行的,就是根据15位升级为18位的国标,对最后一位进行计算后,与输入的最后一位进行比较,比较相同,一般情况下即可认为输入正确。不过如果更精确的检测其有效性的方法就是根据身份证的国标,首先检测前6位地区码,然后出生日期等等。这些我也已经实现。很愿意与大家交流!solerier@msn.com
展开
 我来答
badkano
推荐于2017-09-18 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144771 获赞数:885415
团长

向TA提问 私信TA
展开全部
  数据库中,身份证18位一般用字符类型,varchar或者char来表示。优选char类型。
  在数据库中,char代表固定长度的字符类型。
  如:char(18),就代表可存储18个字符,如果输入时只输入少于18位的字符,后边会以空格补位,身份证正好18位的话,完全可以用这个类型。
  在数据库中,varchar代表可变长度的字符类型。
  如:varchar(18),就代表可存储18个字符,如果输入时只输入少于18位的字符,那么这个长度就是字符本身的长度,身份证正好18位的话,也同样可以用这个类型。
就值美1G
2005-06-23 · TA获得超过316个赞
知道答主
回答量:93
采纳率:0%
帮助的人:72.4万
展开全部
当然是文本型

身份证号码是永远不会用来作数学计算的。况且我的身份证号码最后一位是X,用数字类型根本无法表示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
精心又聪明丶小鲤8788
2005-06-23
知道答主
回答量:14
采纳率:0%
帮助的人:11.7万
展开全部
我认为用字符型最好,这样可以避免溢出,防止首位有0的情况!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哈哈王665
2015-06-01
知道答主
回答量:15
采纳率:0%
帮助的人:2万
展开全部
solerier您好,我也是个初学者,在这里我发表一下我的个人意见,我个人认为还是使用字符型比较好.如果您用的是SQL server 2000的话推荐您使用varchar宽度为20位,这种数据类型可以根据您的数据内容调整宽度,使用起来非常方便.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
曹主任的小店铺
2005-06-23 · TA获得超过118个赞
知道答主
回答量:146
采纳率:0%
帮助的人:103万
展开全部
如果你不用字符型的你会知道什么是麻烦的,特别是数字类型,当然你可以用nchar text呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式