oracle 日期的常用写法

1.日期
select TO_DATE(‘20160601’, ‘YYYYMMDD’)-1 from dual

and a.src_date_created >= TRUNC(TO_DATE(‘20160502’, ‘YYYYMMDD’),’MM’)
and a.src_date_created < TO_DATE(‘20160509’, ‘YYYYMMDD’)-1

to_char(trunc(sysdate, ‘dd’) - 6, ‘yyyymmdd’)

1.select trunc(sysdate) from dual –2017/8/28 今天的日期
2.select trunc(sysdate, ‘mm’) from dual –2017/8/1 返回当月第一天.
3.select trunc(sysdate,’yy’) from dual –2017/1/1 返回当年第一天
4.select trunc(sysdate,’dd’) from dual –2017/8/28 返回当前年月日
5.select trunc(sysdate,’yyyy’) from dual –2017/1/1 返回当年第一天
6.select trunc(sysdate,’d’) from dual –2017/8/27 (星期天)返回当前星期的第一天
select trunc(sysdate,’IW’) from dual –返回当前星期的第一天,即星期一
7.select trunc(sysdate, ‘hh’) from dual –2017/8/28 14:00:00 当前时间为14:41
8.select trunc(sysdate, ‘mi’) from dual –2017/8/28 14:41:00 TRUNC()函数没有秒的精确

2.设置具体的时间点

  1. select trunc(sysdate) + 15 / 24 from dual
    output: 2017/8/28 15:00:00

  2. 时间限制为小时
    where a.updated_date>=to_date(‘2016-10-17 19:00:00’, ‘YYYY-MM-DD HH24:MI:SS’)
    and a.updated_date<=to_date(‘2016-10-17 21:00:00’, ‘YYYY-MM-DD HH24:MI:SS’)

  3. 时间类型是varchar2的
    AND T.UPDATED_DATE = TO_CHAR(TRUNC(SYSDATE-1, ‘MM’), ‘YYYY-MM-DD’)

  4. 修改时间格式 为 YYYY-MM 的
    TO_CHAR(trunc(add_months(last_day(sysdate), +3)), ‘YYYY-MM’)

  5. 修改时间格式为 MM
    extract(month from a.policy_end_date) = TO_CHAR(trunc(add_months(last_day(sysdate), +3)),
    ‘MM’)

    –手动填写数值
    months_between(add_months(sysdate, 12), sysdate)

  6. 当前月减一个月的第一天
    add_months(trunc(sysdate, ‘mm’),-1)

  7. 当前月加两个月
    ADD_MONTHS(TRUNC(TRUNC(SYSDATE, ‘IW’)-1,’MM’),2)

  8. T日提供T-1日清单,周一提供周五-周日数据
    and to_char(t.created_date,’yyyy-MM-dd’)>= decode(to_char
    (sysdate,’d’),’2’,to_char(sysdate-3,’yyyy-MM-dd’),to_char(sysdate-1,’yyyy-MM-dd’))

    and to_char(t.created_date,’yyyy-MM-dd’)< to_char(sysdate,’yyyy-MM-dd’)

  9. 分别取年 、月、日
    select extract(year from date’2018-08-28’) year from dual;
    YEAR

    2018    
    

    select extract(month from date’2018-08-28’) month from dual;
    MONTH

     8    
    

    select extract(day from date’2018-08-28’) day from dual;
    DAY

     28 
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值