zoukankan      html  css  js  c++  java
  • 日期和时间类函数

    在Oracle 11g中,系统提供了许多用于处理日期和时间的函数,通过这些函数可以实现计算需要的特定日期和时间,常用的日期和时间函数如表7.3所示。

    表7.3常用日期时间类函数

    No.

    函数语法

    函数功能

    1

    ADD_MONTHS(d,i)

    返回日期d加上i个月之后的结果。其中,i为任意整数

    2

    LAST_DAY(d)

    返回包含日期d月份的最后一天

    3

    MONTHS_BETWEEN(d1,d2)

    返回d1和d2之间的数目,若d1和d2的日期都相同,或者都是该月的最后一天,则返回一个整数,否则返回的结果将包含一个小数

    4

    NEW_TIME(d1,t1,t2)

    其中,d1是一个日期数据类型,当时区t1中的日期和时间是d1时,返回时区t2中的日期和时间。t1和t2是字符串

    5

    SYSDATE()

    返回系统当前的日期

    日期类型的默认格式是“日-月-年”即“DD-MON-YY”,其中“DD”表示两位数字的“日”,MON表示3位数字的“月份”。YY表示两位数字的“年份”,例如,“01-10月-11”表示2011年10月1日。下面看几个常用函数的具体应用。

    1.SYSDATE()函数

    如果想要系统当前的日期,可以使用SYSDATE()函数,代码如下。

    selectsysdateas系统日期from dual;

    通过SQL Developer输入,查询结果如图7.14所示。

     

    图7.14  获得系统当前的日期

    2.ADD_MONTHS(d,i)函数

    该函数返回日期d加上i个月之后的结果。其中,i为任意整数。

    实例10 使用ADD_MONTHS()函数计算日期值

    使用ADD_MONTHS()函数计算三个月之后的日期和三个月之前的日期,代码如下:

    01  selectsysdate当前日期,
    
    02  ADD_MONTHS(sysdate,3) 三个月之后的日期,
    
    03  ADD_MONTHS(sysdate,-3) 三个月之后的日期
    
    04  from dual;

    通过SQL Developer输入,查询结果如图7.15所示。

     

    图7.15  使用ADD_MONTHS()函数计算日期值

    通过图7.15可知,当前日期为“2017年5月13日”,那么三个月之前的日期就是“2017年8月13日”。如果ADD_MONTHS()函数的第二个参数为负数,则表明计算的是当前日期之前的日期值。

    常见错误:使用“日期 + 数字”的形式来计算之前或之后的日期。

    如果要计算三个月之后的日期,使用“sysdate + 90”也是表示三个月之后的日期,为什么要使用ADD_MONTHS()函数来计算日期值呢?

    这是因为在日期中存在闰年的情况,如果使用日期加减数字的方式则无法进行准确的日期操作。

  • 相关阅读:
    Delphi中的接口和抽象类
    设计模式之六大原则
    C 标准库
    linux 管道和重定向
    linux c创建静态库(.a)
    一个C语言程序
    C#动态创建lambda表达式
    linq中order by 和group by (含lambda表达式实现)以及综合案例
    微信扫码登陆原理
    二维码扫码支付原理
  • 原文地址:https://www.cnblogs.com/mrxy/p/8358579.html
Copyright © 2011-2022 走看看