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

Oracle关于一周内数据查询(DATE)

2017-03-30 11:30 429 查看
TRUNC的用法:

1.select trunc(sysdate) from dual --2013-01-06 今天的日期为2013-01-06

2.select trunc(sysdate, 'mm') from dual --2013-01-01 返回当月第一天.

3.select trunc(sysdate,'yy') from dual --2013-01-01 返回当年第一天

4.select trunc(sysdate,'dd') from dual --2013-01-06 返回当前年月日

5.select trunc(sysdate,'yyyy') from dual --2013-01-01 返回当年第一天

6.select trunc(sysdate,'d') from dual --2013-01-06 (星期天)返回当前星期的第一天

7.select trunc(sysdate, 'hh') from dual --2013-01-06 17:00:00 当前时间为17:35

8.select trunc(sysdate, 'mi') from dual --2013-01-06 17:35:00 TRUNC()函数没有秒的精确

中国的日期是由国外演变而来的。

因此0代表的是周日

当前系统时间的下一星期一的时间select   next_day(sysdate,1)   from   dual 

我想查询上周二到这周一的数据:

SELECT

    TRUNC (NEXT_DAY(SYSDATE - 8, 1) - 5),

    TRUNC (SYSDATE, 'd') + 1

FROM

    T_PRICE_INDEX;

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

三年内:
DATE_PRICE > TRUNC (SYSDATE) - (INTERVAL '3' YEAR)
三周内:

TO_DATE (DATE_STOCK) > TO_DATE (ADD_MONTHS(SYSDATE ,- 3))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: