📅  最后修改于: 2023-12-03 15:03:47.705000             🧑  作者: Mango
在 PL/SQL 中,有很多有用的日期和时间函数,它们可以帮助我们进行日期和时间的计算、转换和格式化等操作,非常方便实用。下面就来介绍一些常用的函数。
SYSDATE 函数返回当前系统的日期和时间,它的返回值的数据类型是 DATE。示例代码如下:
SELECT SYSDATE FROM DUAL;
返回值示例:
2022-09-22 11:48:23
TO_CHAR 函数可以将日期类型的数据转换为指定格式的字符串。例如,将日期类型的数据转换为 yyyy-mm-dd 格式的字符串,可以使用以下语句:
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL;
返回值示例:
2022-09-22
TO_DATE 函数可以将字符串类型的日期数据转换为 DATE 类型。例如,将字符串类型的日期 '2022-09-22' 转换为 DATE 类型的数据,可以使用以下语句:
SELECT TO_DATE('2022-09-22', 'YYYY-MM-DD') FROM DUAL;
返回值示例:
2022-09-22
ADD_MONTHS 函数可以对日期进行月份加减操作。例如,将当前日期加上 1 个月,可以使用以下语句:
SELECT ADD_MONTHS(SYSDATE, 1) FROM DUAL;
返回值示例:
2022-10-22 11:48:23
MONTHS_BETWEEN 函数可以计算两个日期之间的月份差。例如,计算一个人出生日期到现在过去了多少个月,可以使用以下语句:
SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE('1990-01-01', 'YYYY-MM-DD')) FROM DUAL;
返回值示例:
396.7644
ROUND 函数可以对日期进行舍入操作。例如,将当前日期舍入到最近的小时,可以使用以下语句:
SELECT ROUND(SYSDATE, 'HH') FROM DUAL;
返回值示例:
2022-09-22 12:00:00
TRUNC 函数可以对日期进行截断操作。例如,将当前日期截断到最近的小时,可以使用以下语句:
SELECT TRUNC(SYSDATE, 'HH') FROM DUAL;
返回值示例:
2022-09-22 11:00:00
EXTRACT 函数可以获取特定的日期部分,例如年、月、日、小时等。例如,获取当前日期的月份,可以使用以下语句:
SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL;
返回值示例:
9
以上就是 PL/SQL 中常用的日期和时间函数。当然,这只是其中的一些函数,还有很多其他的函数可以使用,需要根据实际情况选择使用。