ORA-01427: 单行子查询返回多于一个行,请问怎么改? 5
select*fromARCHIVE_BASEINFOt,dualwhere(selectextract(yearfromto_date(to_char(sysdate,...
select * from ARCHIVE_BASEINFO t,dual
where (select extract(year from to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd'))
- extract(year from to_date(substr(t.idcard,7,8),'yyyy-mm-dd'))
from ARCHIVE_BASEINFO t,dual ) >= 65 展开
where (select extract(year from to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd'))
- extract(year from to_date(substr(t.idcard,7,8),'yyyy-mm-dd'))
from ARCHIVE_BASEINFO t,dual ) >= 65 展开
展开全部
select * from ARCHIVE_BASEINFO t
where extract(year from to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd'))
- extract(year from to_date(substr(t.idcard,7,8),'yyyy-mm-dd'))
>= 65
where extract(year from to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd'))
- extract(year from to_date(substr(t.idcard,7,8),'yyyy-mm-dd'))
>= 65
更多追问追答
追问
不是,这样格式有问题
追答
你这儿的格式有问题吧?
substr(t.idcard,7,8) 只有8位,应该是:to_date(substr(t.idcard,7,8),'yyyymmdd') 吧
试试:
select * from ARCHIVE_BASEINFO t
where extract(year from sysdate) - extract(year from to_date(substr(t.idcard,7,8),'yyyymmdd'))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询