oracle中sql上个月,ORACLE SQL语句中统计上个月,上周,昨天的记录

这篇博客介绍了如何使用SQL中的时间函数来获取上个月、上周和昨天的具体日期。重点讲解了next_day函数的用法,以及如何调整日期以适应中国周日作为一周开始的习惯。还展示了获取当前时间、前一天、前一小时以及前一分钟的方法。
摘要由CSDN通过智能技术生成

上个月:

select last_day(add_months(sysdate,-2))+1,last_day(add_months(sysdate,-1))  from dual;

上周:

select trunc(next_day(sysdate - 8, 1)-6),trunc(next_day(sysdate - 8, 1))  from dual;

此处主要是前面的next_day函数, -8为上个星期,1表示从上个星期-8天往后推的第一天,即星期日,-6表示为了适应中国的习惯,第一天为星期一,所以一般来说是+1,这里要-6是要表示上个星期。为了这个函数,话费了一个多小时。

昨天:

to_char(tssl.calltime,'yyyy/mm/dd')=to_char(trunc(sysdate)-1,'yyyy/mm/dd')  --tssl.calltime为需要比较的字段

SELECT '当前时间' TITLE, TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') TIME   FROM DUAL --当前时间 UNION ALL SELECT '前一天前一小时前一分钟前一秒' TITLE,        TO_CHAR(SYSDATE - 1 - 1 / 24 - 1 / 24 / 60 - 1 / 24 / 60 / 60,                'yyyy-mm-dd hh24:mi:ss') TIME   FROM DUAL UNION ALL SELECT '一分钟前' TITLE,        TO_CHAR(SYSDATE - 1 / 24 / 60, 'yyyy-mm-dd hh24:mi:ss')   FROM DUAL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值