就是通过身份证号判断出生年月,也就是月份大于1月小于12月,日期大于01号小于31号,润月小于28号的sql语句,谢谢各位大侠了,QQ:292438574
身份证号有两种,一种是15位的(少见了),另外是18位的
用case进行判断就可以了
select *
from 表
where (case when len(身份证号字段) =18 then isdate(substring(身份证号字段,7,8)) when len(身份证号字段)=15 then isdate('19'+substring(身份证号字段,7,6)) end )=1
用case进行判断就可以了
select *
from 表
where (case when len(身份证号字段) =18 then isdate(substring(身份证号字段,7,8)) when len(身份证号字段)=15 then isdate('19'+substring(身份证号字段,7,6)) end )=1
温馨提示:答案为网友推荐,仅供参考
第1个回答 2008-03-07
好办呀 oracle-sql
select substr(身份证号,7,8) from dual;
这样取出的就是出生年月日了
select substr(身份证号,7,8) from dual;
这样取出的就是出生年月日了
第2个回答 2008-03-07
没分吗