您的位置:首页 > 数据库 > Oracle

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

2013-08-12 17:00 274 查看
上个月:

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为需要比较的字段

 

//以下转载自http://blog.163.com/zhyang@yeah/blog/static/130143844201052511739558/

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: