PL/SQL 知识量:16 - 57 - 244
SYSDATE函数可以获取数据库系统的当前日期,通常在插入数据时作为默认日期使用。此函数不带任何参数。
示例:
SQL> select sysdate from people where id=1; SYSDATE ----------- 2023-8-7 10
SYSTIMESTAMP函数与SYSDATE函数相似,它会返回系统时间,时间精确到微秒。此函数不带任何参数。
示例:
SQL> select systimestamp from people where id=1; SYSTIMESTAMP -------------------------------------------------------------------------------- 07-8月 -23 10.17.01.126000 上午 +08:00
ADD_MONTHS函数可以实现日期和月份的计算,它可以在给定的日期上添加相当于月份的整数,然后重新计算日期。语法结构如下:
ADD_MONTHS(date,integer)
简要说明:
date:给定的日期。
integer:表示要添加的月数。当为负数时,表示当前日期减去该月数。
示例:
SQL> select add_months(to_date('2023-10-09','yyyy-mm-dd'),2) from people where id=1; ADD_MONTHS(TO_DATE('2023-10-09','YYYY-MM-DD'),2) ------------------------------------------------ 2023-12-9 SQL> select add_months(to_date('2023-10-09','yyyy-mm-dd'),-2) from people where id=1; ADD_MONTHS(TO_DATE('2023-10-09','YYYY-MM-DD'),-2) ------------------------------------------------- 2023-8-9 SQL> select add_months(to_date('2023-4-30','yyyy-mm-dd'),-2) from people where id=1; ADD_MONTHS(TO_DATE('2023-4-30','YYYY-MM-DD'),-2) ------------------------------------------------ 2023-2-28
当该函数中给出的日期是月的最后一天时,增加月份后返回的结果也将是新月份的最后一天;而如果新的日期月份比指定日期月份的天数少,则函数将返回当月的最后一天,例如一月份变二月份后,日期会返回2月28日。
MONTHS_BETWEEN函数具有两个参数,可以获取这两个参数之间的月份数。具体的语法结构如下:
MONTHS_BETWEEN(date1,date2)
简要说明:
date1:日期类型。
date2:日期类型。
date1>date2时,如果两个参数表示的是某月中相同的一天,或它们都是某月中的最后一天,那么函数会返回整数;否则,将返回小数。
date1<date2时,函数返回负值。
示例:
SQL> select months_between(to_date('2023-4-30','yyyy-mm-dd'),to_date('2023-5-30','yyyy-mm-dd')) as test1 from people where id=1; TEST1 ---------- -1 SQL> select months_between(to_date('2023-7-3','yyyy-mm-dd'),to_date('2023-5-30','yyyy-mm-dd')) as test2 from people where id=1; TEST2 ---------- 1.12903225
LAST_DAY函数可以返回给定日期所在月份的最后一天,它有一个参数。具体的语法结构如下:
LAST_DAY(date)
示例:
SQL> select last_day(to_date('2023-11-11','yyyy-mm-dd')) from people where id=1; LAST_DAY(TO_DATE('2023-11-11','YYYY-MM-DD')) -------------------------------------------- 2023-11-30
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6