高分求助,达人乱入!!!oracle中年份问题~~~~

lwty 2005-09-06 04:07:40
有一张表Tab_A(id,pubdate,sortvalue)字段分别为"流水号","发布日期","参数值"
现在要根据发布日期来更新sortvalue.

如从pubdate(发布日期)到当前时间小于一年则,则 update Tab_A set sortvalue='1';
如发布日期到当前时间大于>=1年,且<2年,则 update Tab_A set sortvalue='2';
如发布日期到当前时间大于>=2年,且<3年,则 update Tab_A set sortvalue='3';


求sql写法??????
在线等待~~~高分相送,达人帮忙!!!!!

...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
小李木耳 2005-09-06
  • 打赏
  • 举报
回复
把duanzilin(寻)的结果中的365用:
sysdate-add_months(sysdate,-12)
替换。

哈哈, sasacat(傻傻猫)的思路好像正好弄反了,而且还不太对。

sasacat 2005-09-06
  • 打赏
  • 举报
回复
今年的天数

add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year')
lwty 2005-09-06
  • 打赏
  • 举报
回复
to::duanzilin(寻),首先谢谢这位兄台!
如果sysdate-pubdate=365则好办,但是关键是也有等于366的或其他数字的情况,这个就不好处理了~
沝林 2005-09-06
  • 打赏
  • 举报
回复
update Tab_A
set sortvalue = case when sysdate - pubdate < 365 then 1
when sysdate - pubdate between 365 and 365*2 then 2
when sysdate - pubdate between 365*2 and 365*3 then 3
else 0
end

17,137

社区成员

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

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