• Oracle—常见日期型处理函数


    1.sysdate—获取当前日期

    select sysdate from dual;
    输出:2020-10-30 10:25:25
    View Code

    2.add_months()——加上月份

    select add_months(sysdate,1) from dual;
    输出:2020-11-30 10:26:10
    select add_months(to_date('2010-2-27','YYYY-MM-DD'),1) from dual;
    输出:2010-03-27
    select add_months(to_date('2010-2-28','YYYY-MM-DD'),1) from dual;
    输出:2010-03-31
    select add_months(to_date('2010-1-28','YYYY-MM-DD'),1) from dual;
    输出:2010-02-28
    select add_months(to_date('2010-1-29','YYYY-MM-DD'),1) from dual;
    输出:2010-02-28
    select add_months(to_date('2010-1-30','YYYY-MM-DD'),1) from dual;
    输出:2010-02-28
    select add_months(to_date('2010-1-30','YYYY-MM-DD'),1) from dual;
    输出:2010-02-28
    View Code

    3.last_day()——日期所在月最后一天

    select last_day(to_date('2010-2-28','YYYY-MM-DD')) from dual;
    输出:2010-02-28
    select last_day(to_date('2000-2-28','YYYY-MM-DD')) from dual;
    输出:2000-02-29
    View Code

    4.months_between()——日期差(日期天数差/31)

    select months_between(to_date('2000-4-4','YYYY-MM-DD'),to_date('2000-2-6','YYYY-MM-DD')) from dual;
    输出:1.93548387096774
    select months_between(to_date('2000-2-6','YYYY-MM-DD'),to_date('2000-4-4','YYYY-MM-DD')) from dual;
    输出:-1.93548387096774
    select months_between(to_date('2000-4-4','YYYY-MM-DD'),to_date('2000-3-6','YYYY-MM-DD')) from dual;
    输出:0.935483870967742
    View Code

    --日期天数29/31=0.935483870967742

    5.next_day()——返回下周特定日期

    select next_day(to_date('2020-10-30','YYYY-MM-DD'),2) from dual;--2代表下周二
    输出:2020-11-02   
    select next_day(to_date('2020-10-30','YYYY-MM-DD'),6) from dual;--6代表下周6
    输出:2020-11-06
    View Code

     6.trunc()——日期截取

    目的将某些信息置为0

    select trunc(sysdate,'DD') from dual;
    输出:2020-10-30
    select trunc(sysdate,'MM') from dual;
    输出:2020-10-01
    select trunc(sysdate,'MI') from dual;
    输出:2020-10-30 17:25:00
    View Code

     7.current_date——返回当前会话当前日期

    select sessiontimezone,to_char(current_date,'yyyy-mm-dd hh:mi:ss') from dual;
    输出:+08:00 2020-11-04 04:24:35
    select sessiontimezone,current_timestamp from dual;
    输出:+08:00 04-11月-20 04.25.00.702000 下午 +08:00
    View Code

    8.extract()——返回日期的某个域

    语法:extract(域名,from 日期)

    select extract(month from sysdate) from dual; 
    输出:11
    select extract(hour from sysdate) from dual;
    输出:报错
    select extract(hour from systimestamp) from dual;
    输出:8
    View Code

    9.to_char()——日期转换为字符串

    语法:to_char(日期,格式)

    select to_char(sysdate,'YYYY-MM-DD') from dual;
    输出:2020-11-04
    View Code

     整理于《oracle入门很简单》一书

  • 相关阅读:
    java SSM 框架 多数据源 代码生成器 websocket即时通讯 shiro redis 后台框架源码
    PHP5.5.13 + Apache2.4.7安装配置流程详解
    mybatis-generator 自动生成mapper以及实体类
    spring cloud之Feign的使用
    spring cloud 初体验
    redis 分布式锁
    Activiti 工作流之所学所感(基本配置) DAY1
    druid 连接池加密算法
    ssm+redis整合(通过aop自定义注解方式)
    aop (权限控制之功能权限)
  • 原文地址:https://www.cnblogs.com/zs-chenkang/p/13901137.html
Copyright © 2020-2023  润新知