身份证号有两种,一种是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
好办呀 oracle-sql
select substr(身份证号,7,8) from dual;
这样取出的就是出生年月日了
没分吗