求距今多少年的SQL语句 比如今天是2004/2/29
2004/2/29及以后日期为0
2003/3/1--2004/2/28之间的日期为1
2002/3/1--2003/2/28之间的日期为2
2001/3/1--2002/2/28之间的日期为3
2000/2/29--2001/2/28之间的日期为4
1999/3/1--2000/2/28之间的日期为5又如今天是2007/4/10
2007/4/10及以后日期为0
2006/4/10--2007/4/9之间的日期为1
2005/4/10--2006/4/9之间的日期为2
2004/4/10--2005/4/9之间的日期为3
2003/4/10--2004/4/9之间的日期为4
2002/4/10--2003/4/9之间的日期为5求select语句
2004/2/29及以后日期为0
2003/3/1--2004/2/28之间的日期为1
2002/3/1--2003/2/28之间的日期为2
2001/3/1--2002/2/28之间的日期为3
2000/2/29--2001/2/28之间的日期为4
1999/3/1--2000/2/28之间的日期为5又如今天是2007/4/10
2007/4/10及以后日期为0
2006/4/10--2007/4/9之间的日期为1
2005/4/10--2006/4/9之间的日期为2
2004/4/10--2005/4/9之间的日期为3
2003/4/10--2004/4/9之间的日期为4
2002/4/10--2003/4/9之间的日期为5求select语句
好像不对,sysdate是2004-02-29时,要减的日期是2000/2/29
结果为1,应该是4
2000/2/29为4.0027397260274
2001/2/28为3.0027397260274
而应该要4我是用
select (to_date(to_char(
to_date('2004-02-29 00:59:34','YYYY/MM/DD hh24:mi:ss')
, 'yyyy-mm-dd'), 'yyyy-mm-dd')-to_date('2001/2/28', 'yyyy-mm-dd'))/365 from dual
来测的
to_date('2001-02-28', 'yyyy-mm-dd'))/365) aa
from dual
to_date('2001-02-28', 'yyyy-mm-dd'))/365) aa
from dual
但结果还是3啊 ,正解是4自己搞定,用笨方法
select case 枚举了1~5
谢谢各位
to_date('2001-02-28', 'yyyy-mm-dd'))/365) aa
from dual
这个是3没得问题啊
select trunc((to_date('2004-04-10', 'yyyy-mm-dd') -
to_date('2001-04-09', 'yyyy-mm-dd'))/365) aa
from dual
这样也是3啊,但是你要的是不是4嘛?