Oracle 中的日期函数

2025 年 2 月 24 日 | 阅读 5 分钟

在本文中,我们将详细了解 Oracle 中的日期函数。

引言

为了处理和操作日期,Oracle 提供了一系列函数,这些函数可以操作 Oracle 中的各种日期相关数据类型。Oracle 中的默认格式为 DD-MON-YY HH:MI:SS。有效的 Oracle 日期范围是公元前 4712 年 1 月 1 日到公元 9999 年 12 月 31 日。

以下是 Oracle 中提供的各种日期和时间函数

函数名描述
ADD_MONTHS向日期添加或减去月份。
MONTHS_BETWEEN返回两个日期之间的月份数。
LAST_DAY返回参数日期所在月份的最后一天。
NEXT_DAY返回第一个出现的星期几的日期值。
ROUND将日期/时间值四舍五入到日期的下一个较高部分。
SYSDATE返回当前日期和时间。
TRUNC返回根据格式参数指定的有效日期值。

让我们逐一详细解释

ADD_MONTHS: 此函数用于向日期值添加或减去指定数量的月份。

语法

在上述语法中,ADD_MONTHS 是一个函数,它有两个参数:date 和 n。date 是一个日期值,n 是一个整数,表示要添加到 date 的月份数。

示例 1

输出

该示例的输出如下所示。

Date Functions in Oracle

示例 2

输出

该示例的输出如下所示。

Date Functions in Oracle

示例 3

输出

该示例的输出如下所示。

Date Functions in Oracle

MONTHS_BETWEEN: 此函数确定两个日期 date2 和 date1 之间的月份数。返回的值是一个实数,表示整个月份和月份的一部分。

语法

在上述语法中,MONTHS_BETWEEN 函数有两个参数:date2 和 date1。date2 是被减去的日期,date1 是要被减去的日期。

示例 1

输出

该示例的输出如下所示。

Date Functions in Oracle

示例 2

输出

该示例的输出如下所示。

Date Functions in Oracle

LAST_DAY: 此函数返回参数日期所在月份的最后一天。

语法

在上述语法中,LAST_DAY 是一个函数,它接受一个参数:date。这是一个对您想要在月份最后一天检索的 DATE 值求值的表达式。

示例 1

输出

该示例的输出如下所示。

Date Functions in Oracle

NEXT_DAY: 返回给定日期之后下一个指定星期几的日期值。

语法

在上述语法中,NEXT_DAY 函数有两个参数:date 和 day_of_week。date 是一个对 DATE 值求值的表达式,用于查找下周的某一天,day_week 是您想要返回的星期几。

示例 1

输出

该示例的输出如下所示。

Date Functions in Oracle

示例 2

输出

该示例的输出如下所示。

Date Functions in Oracle

ROUND: 此函数将日期和时间值四舍五入到日期的下一个较高部分。它采用与 TRUNC 函数相同的格式。如果指定的格式为 'MON',并且如果 date <=15,则显示给定月份的第一天/日期,否则,如果 day>15,则四舍五入到下个月的第一天。

语法

在上述语法中,ROUND 函数有两个参数:date 和 format。date 参数是要四舍五入的值,format 指定要将日期四舍五入到的单位。

示例 1

输出

该示例的输出如下所示。

Date Functions in Oracle

SYSDATE: 此函数根据数据库时区返回当前日期和时间,作为 DATE 值。

语法

在上述语法中,它不需要任何参数,您可以调用它而不指定括号。

示例 1

输出

该示例的输出如下所示。

Date Functions in Oracle

示例 2

输出

该示例的输出如下所示。

Date Functions in Oracle

TRUNC: 此函数用于日期时,会根据可选指定的格式参数将日期值截断。此函数根据指定的格式减少日期值。如果没有格式,如果日期时间在中午之前,日期将被截断到 12 AM,否则它将被四舍五入到下一天。

语法

在上述语法中,TRUNC 函数有两个参数:date 和 format。date 参数是要截断的值,format 指定要将日期截断到的单位。

一些格式是

  • MON, MM, MONTH: 对于任何日期和时间(直到晚上 11:59:59),它都会截断到当前月份的第一天。
  • DD, DDD: 对于任何日期和时间(直到晚上 11:59:59),它都会截断到当前日的 12 AM。
  • D: 将日期截断回星期日。

示例 1

输出

该示例的输出如下所示。

Date Functions in Oracle

示例 2

输出

该示例的输出如下所示。

Date Functions in Oracle

DATE 的算术运算

数据库存储日期和数字,它允许用户执行各种数学运算,如加法和减法。可以执行的一些运算是

运算结果描述
Date + number日期将指定天数加到日期上。
Date - number日期从日期中减去指定天数。
Date1 - Date2天数。将一个日期减去另一个日期。

示例 1

输出

该示例的输出如下所示。

Date Functions in Oracle

示例 2

输出

以下是这个例子的输出。

Date Functions in Oracle
下一主题Oracle-data-types