【发布时间】:2017-04-26 12:06:46
【问题描述】:
我试图找出有多少人的身份证从数据库中过期,因为数据具有这种格式:
CI+OT+1x78xx+POL.SLATINA+29-08-2003+14-07-2013
或
BI+GV+591xxx+MUN CAMPIA TURZII+03-02-1997+
所以它被 + 五次分隔(其中一些永远不会过期)
我已经这样做了,但它不起作用......
select
set_act_id_1,
to_number(sysdate-to_date(substr(set_act_id_1,instr(set_act_id_1,'+',1,5)+1,length(set_act_id_1)),'DD-MM-YYYY'))
from STAGE.CUSTOMERS
where set_act_id_1 is not null
group by set_act_id_1
having sysdate-to_date(substr(set_act_id_1,instr(set_act_id_1,'+',1,5)+1,length(set_act_id_1)),'DD-MM-YYYY')<0;
【问题讨论】:
-
1) 您使用的是哪个版本的 Oracle? 2)所以第一个过期,因为
14-07-2013小于当前日期,第二个永远不会过期,因为+之后的第五个位置为空? -
toad for oracle 12.10