Oracle选取一天的问题?

qq_41045003 2018-09-06 03:22:52
在oracle中add_days({sysdate},-1)是按当前时间像前推一天吗,比如现在是16:00,那么取到的是昨天16:00到今天16:00,还是取了昨天0:00到24:00?
...全文
264 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
碧水幽幽泉 2018-09-07
  • 打赏
  • 举报
回复
引用 楼主 qq_41045003 的回复:
在oracle中add_days({sysdate},-1)是按当前时间像前推一天吗,比如现在是16:00,那么取到的是昨天16:00到今天16:00,还是取了昨天0:00到24:00?

Oracle没有add_days函数,比如现在是16:00,那么:
to_char(sysdate-1, 'yyyy-mm-dd hh24:mi:ss') 取到的就是昨天16:00
to_char(sysdate+1, 'yyyy-mm-dd hh24:mi:ss') 取到的就是明天16:00
yaiger 2018-09-06
  • 打赏
  • 举报
回复
想取整天,可以在sysdate前加个trunc函数,trunc(sysdate)就是当天0点
卖水果的net 2018-09-06
  • 打赏
  • 举报
回复


SQL> 
SQL> -- oracle 没有 add_days 函数,如果要对时间增减天数,可以直接 +-1 .
SQL> -- 比如现在是 16:00 ,减一天,就是昨天的 16:00,加一天也一样。
SQL> -- 例如:
SQL> select to_char(sysdate - 1, 'yyyy-mm-dd hh24:mi:ss') yesterday,
  2         to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') today,
  3         to_char(sysdate + 1, 'yyyy-mm-dd hh24:mi:ss') tomorrow
  4    from dual;
YESTERDAY           TODAY               TOMORROW
------------------- ------------------- -------------------
2018-09-05 15:53:22 2018-09-06 15:53:22 2018-09-07 15:53:22

SQL> 

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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