select floor(sysdate - KSS_RFPERSON_USER.BIRTH_D) days, KSS_RFPERSON_USER.* from KSS_RFPERSON_USER where days between 18*365 and 25*365将sysdate和你的日期字段格式一致
取出年份,与当前年份相减 select to_char(sysdate,'yyyy') - '1978' from dual; 就是年龄select * from tab where to_char(sysdate,'yyyy')-to_char(kss_pfpersono_user,'yyyy') between 12 and 25;
select * from KSS_RFPERSON_USER where to_date(to_char(sysdate,'YYYY')-25||to_char(sysdate,'MMDD'),'YYYYMMDD')-birth_d<0 and to_date(to_char(sysdate,'YYYY')-18||to_char(sysdate,'MMDD'),'YYYYMMDD')-birth_d>0也就是说 今天是2004-08-16,那么1979-08-15就不算是25岁了 怎么发2次?到底要哪个嘛!
--更正一下楼上 select * from tab where to_number(to_char(sysdate,'yyyy'))-to_number(to_char(kss_pfpersono_user,'yyyy')) between 18 and 25; --只能在年份上做比较.如果要求精确到月或天,那就要重写了.
别名不能做查询条件吧select * from (select floor(sysdate - KSS_RFPERSON_USER.BIRTH_D) days, KSS_RFPERSON_USER.* from KSS_RFPERSON_USER ) b where days between 18*365 and 25*365
select * from KSS_RFPERSON_USER where trunc(months_between(sysdate,BIRTH_D)/12) between 18 and 25;
我的:select * from KSS_RFPERSON_USER where (TO_NUMBER(TO_CHAR(sysdate,'YYYY'))-TO_NUMBER(TO_CHAR(BIRTH_D,'YYYY')) between 18 and 25;我们说年龄一般都是当前年减去出生年的,如果一定要算个365或366才算一岁的话,也可以比较当前日期与出生日期(除去年)的大小。看你实际需要,不赞成用 *365的形式,因为要考虑闰年
select to_char(sysdate,'yyyy') - '1978' from dual;
就是年龄select * from tab
where to_char(sysdate,'yyyy')-to_char(kss_pfpersono_user,'yyyy') between 12 and 25;
where
to_date(to_char(sysdate,'YYYY')-25||to_char(sysdate,'MMDD'),'YYYYMMDD')-birth_d<0
and
to_date(to_char(sysdate,'YYYY')-18||to_char(sysdate,'MMDD'),'YYYYMMDD')-birth_d>0也就是说
今天是2004-08-16,那么1979-08-15就不算是25岁了
怎么发2次?到底要哪个嘛!
select * from tab
where to_number(to_char(sysdate,'yyyy'))-to_number(to_char(kss_pfpersono_user,'yyyy')) between 18 and 25;
--只能在年份上做比较.如果要求精确到月或天,那就要重写了.
(select floor(sysdate - KSS_RFPERSON_USER.BIRTH_D) days,
KSS_RFPERSON_USER.* from KSS_RFPERSON_USER )
b where days between 18*365 and 25*365
where (TO_NUMBER(TO_CHAR(sysdate,'YYYY'))-TO_NUMBER(TO_CHAR(BIRTH_D,'YYYY')) between 18 and 25;我们说年龄一般都是当前年减去出生年的,如果一定要算个365或366才算一岁的话,也可以比较当前日期与出生日期(除去年)的大小。看你实际需要,不赞成用 *365的形式,因为要考虑闰年