日期型函数

日期类型的函数操作日期、时间类型的相关数据,并返回日期或数字类型的数据。

1. SYSDATE 函数。

该函数没有参数,可以得到系统的当前日期,是很常用的函数。

下面示例演示了将得到的系统时间进行格式化。

示例脚本如下:

select sysdate, to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS')
from dual;

脚本中使用了 TO_CHAR() 函数,该函数具体用法后面会介绍,严格来说它属于转换函数。

2. 增加天数

select sysdate + 2 from dual;

3. ADD_MONTHS(date,integer) 函数。

该函数将返回在指定的日期上加一个月份数后的日期。

各参数具体含义如下:

  • date:指定的日期。

  • integer:要加的月份数,该值如果为负数,则表示减去的月份数。

该函数有些地方需要注意,当指定的日期是月的最后一天时,最后函数返回的结果也将是新月的最后一天。

而如果新的月份比指定日期月份的天数少,则函数将自动回调有效日期。

示例脚本如下:

select to_char(add_months(to_date('2009-9-15', 'YYYY-MM-DD'), 1),
               'YYYY-MM-DD'),
       to_char(add_months(to_date('2009-9-30', 'YYYY-MM-DD'), 1),
               'YYYY-MM-DD'),
       to_char(add_months(to_date('2010-1-30', 'YYYY-MM-DD'), 1),
               'YYYY-MM-DD')
from dual;

脚本中使用了 TO_DATE() 函数,该函数具体用法后面会介绍,它属于转换函数。

4. MONTHS_BETWEEN(date1,date2) 函数。

该函数返回 date1date2 之间的月份数。函数两个参数都为日期型数据。

date1>date2 时,如果两个参数表示日期是某月中的同一天,或它们都是某月中的最后一天,则该函数返回一整型数;否则,将返回小数。

date1<date2 时,则返回一负值。

示例脚本如下:

select months_between(to_date('2010-7-1', 'YYYY-MM-DD'),
                      to_date('2010-6-1', 'YYYY-MM-DD')) one,
       months_between(to_date('2010-5-31', 'YYYY-MM-DD'),
                      to_date('2010-4-30', 'YYYY-MM-DD')) two,
       months_between(to_date('2010-5-31', 'YYYY-MM-DD'),
                      to_date('2010-9-30', 'YYYY-MM-DD')) three
from dual;

5. LAST_DAY(date) 函数。

该函数返回参数指定日期对应月份的最后一天。

示例脚本如下:

select last_day(sysdate)
from dual;

6. SESSIONTIMEZONE 函数。

该函数没有参数,可以返回当前会话的时区。

示例脚本如下:

select sessiontimezone
from dual;

7. NEXT_DAY(date,char) 函数。

该函数返回当前日期向后的一周 char 的对应日期, char 表示的是星期几,全称和缩写都允许。但必须有效。

示例脚本如下:

select sysdate,next_day(sysdate, '星期一')
from dual;

8. EXTRACT(datetime) 函数。

该函数可以从指定的时间当中提取到指定的日期部分,例如从给定的日期得到年、月、分等。

示例脚本如下:

select extract(year from sysdate) year,
       extract(minute from TIMESTAMP'2010-6-18 12:23:10') min,
       extract(second from TIMESTAMP'2010-6-18 12:23:10') sec
from dual;

9. SYSTIMESTAMP 函数。

该函数没有参数,返回系统时间,该时间包含时区信息,精确到微秒。

返回类型为带时区信息的 TIMESTAMP 类型。

示例脚本如下:

select systimestamp
from dual;
© 2019 刘士. All rights reserved.

结果匹配 ""

    没有匹配的结果 ""