求SQl语句

aoyusky 2007-04-10 02:46:38
求距今多少年的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语句

...全文
190 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhy19806 2007-04-11
  • 打赏
  • 举报
回复
select trunc((to_date('2004-02-29', 'yyyy-mm-dd') -
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嘛?

aoyusky 2007-04-11
  • 打赏
  • 举报
回复
谢谢njuzgj(罐子)
但结果还是3啊 ,正解是4

自己搞定,用笨方法
select case 枚举了1~5
谢谢各位
njuzgj 2007-04-10
  • 打赏
  • 举报
回复
select trunc((to_date('2004-02-29', 'yyyy-mm-dd') -
to_date('2001-02-28', 'yyyy-mm-dd'))/365) aa
from dual
aoyusky 2007-04-10
  • 打赏
  • 举报
回复
试了,这样是3
zhy19806 2007-04-10
  • 打赏
  • 举报
回复
这样就是4了
zhy19806 2007-04-10
  • 打赏
  • 举报
回复
select trunc((to_date('2004-02-29', 'yyyy-mm-dd') -
to_date('2001-02-28', 'yyyy-mm-dd'))/365) aa
from dual
aoyusky 2007-04-10
  • 打赏
  • 举报
回复
我本来也是这样写的。但闰年

比如sysdate是2004-02-29时,
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
来测的
zhy19806 2007-04-10
  • 打赏
  • 举报
回复
select (to_date(to_char(sysdate, 'yyyy-mm-dd'), 'yyyy-mm-dd')-to_date('2004/4/9', 'yyyy-mm-dd'))/365 from dual
zhy19806 2007-04-10
  • 打赏
  • 举报
回复
看错了
zhy19806 2007-04-10
  • 打赏
  • 举报
回复
没有2000/2/29啊
aoyusky 2007-04-10
  • 打赏
  • 举报
回复
zhy19806(Free)
好像不对,sysdate是2004-02-29时,要减的日期是2000/2/29
结果为1,应该是4
zhy19806 2007-04-10
  • 打赏
  • 举报
回复
select mod(to_date(to_char(sysdate, 'yyyy-mm-dd'), 'yyyy-mm-dd')-to_date('2004/4/9', 'yyyy-mm-dd'), 365) xx from dual

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧