GBase 8a如何实现通过18位身份证号码判断男女性别?
发布网友
发布时间:2022-07-27 13:27
我来回答
共2个回答
热心网友
时间:2023-10-26 17:02
18位的身份证,其倒数第2位区分男女,单数是男,双数是女。本文通过GBase 8a用SQL的方式来实现该功能的几个方法。
从18位的数字,获得倒数第二位的数字,可以用字符串截取,也可以用数字操作。
判断奇偶,一般采用取模2的方式, %2 如果为0则是偶数,为1则是奇数。
操作方法:
1、数字操作方法
数字除以10后,默认是浮点数,要用floor函数取整,再取模。
2、字符串截取方式
采用left, right函数相对简单些。右面取2位,再左面取1位。
另外,截取substring的写法很繁琐,而且还要转成数字再做取模。
热心网友
时间:2023-10-26 17:02
身份证第17位数字表示性别:奇数表示男性,偶数表示女性。
18位身份证号码各位的含义:
一、1-2位省、自治区、直辖市代码;
二、3-4位地级市、盟、自治州代码;
三、5-6位县、县级市、区代码;
四、7-14位出生年月日,比如19670401代表1967年4月1日;
五、15-17位为顺序号,其中17位男为单数,女为双数;
六、18位为校验码,0-9和X。作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么 此人的身份证就变成了19位。X是罗马数字的10,用X来代替10 。