MariaDB DATE_SUB() 函数的基础用法与实例

MariaDB DATE_SUB() 函数是一个日期函数,用于在一个日期或时间值的基础上减少一个指定的时间间隔,返回一个新的日期或时间值。

发布于

MariaDB DATE_SUB() 函数是一个日期函数,用于在一个日期或时间值的基础上减少一个指定的时间间隔,返回一个新的日期或时间值。该函数可以用于处理日期、时间、日期时间、年月等类型的数据。

语法

MariaDB DATE_SUB() 函数的语法如下:

DATE_SUB(date, INTERVAL expr unit)

其中,date 是一个日期或时间值,可以是一个常量、变量或表达式。INTERVAL expr unit 是一个时间间隔,由一个表达式 expr 和一个单位 unit 组成。expr 可以是一个正数或负数,表示减少或增加的时间量。unit 可以是以下值之一:

  • MICROSECOND:微秒,范围是 0 到 999999。
  • SECOND:秒,范围是 0 到 59。
  • MINUTE:分钟,范围是 0 到 59。
  • HOUR:小时,范围是 0 到 23。
  • DAY:天,范围是 0 到 31。
  • WEEK:周,范围是 0 到 53。
  • MONTH:月,范围是 0 到 12。
  • QUARTER:季度,范围是 0 到 4。
  • YEAR:年,范围是 0 到 9999。
  • SECOND_MICROSECOND:秒和微秒,格式是 ss.ssssss
  • MINUTE_MICROSECOND:分钟和微秒,格式是 mm:ss.ssssss
  • MINUTE_SECOND:分钟和秒,格式是 mm:ss
  • HOUR_MICROSECOND:小时和微秒,格式是 hh:mm:ss.ssssss
  • HOUR_SECOND:小时和秒,格式是 hh:mm:ss
  • HOUR_MINUTE:小时和分钟,格式是 hh:mm
  • DAY_MICROSECOND:天和微秒,格式是 dd hh:mm:ss.ssssss
  • DAY_SECOND:天和秒,格式是 dd hh:mm:ss
  • DAY_MINUTE:天和分钟,格式是 dd hh:mm
  • DAY_HOUR:天和小时,格式是 dd hh
  • YEAR_MONTH:年和月,格式是 yyyy-mm

实例

下面给出一些使用 MariaDB DATE_SUB() 函数的实例,以及相应的代码和输出结果。

在一个日期上减少一定的天数

假设我们有一个日期值 2024-02-16,我们想要在这个日期上减少 10 天,得到一个新的日期值。我们可以使用以下 SQL 语句:

SELECT DATE_SUB('2024-02-16', INTERVAL 10 DAY) AS new_date;

输出结果如下:

+------------+
| new_date   |
+------------+
| 2024-02-06 |
+------------+

这个实例说明了如何使用 DATE_SUB() 函数在一个日期上减少一个以天为单位的时间间隔,返回一个新的日期值。

在一个日期时间上减少一定的小时和分钟

假设我们有一个日期时间值 2024-02-16 08:57:33,我们想要在这个日期时间上减少 2 小时和 15 分钟,得到一个新的日期时间值。我们可以使用以下 SQL 语句:

SELECT DATE_SUB('2024-02-16 08:57:33', INTERVAL '2:15' HOUR_MINUTE) AS new_datetime;

输出结果如下:

+---------------------+
| new_datetime        |
+---------------------+
| 2024-02-16 06:42:33 |
+---------------------+

这个实例说明了如何使用 DATE_SUB() 函数在一个日期时间上减少一个以小时和分钟为单位的时间间隔,返回一个新的日期时间值。

在一个日期上增加一定的周数

假设我们有一个日期值 2024-02-16,我们想要在这个日期上增加 3 周,得到一个新的日期值。我们可以使用以下 SQL 语句:

SELECT DATE_SUB('2024-02-16', INTERVAL -3 WEEK) AS new_date;

输出结果如下:

+------------+
| new_date   |
+------------+
| 2024-03-08 |
+------------+

这个实例说明了如何使用 DATE_SUB() 函数在一个日期上增加一个以周为单位的时间间隔,返回一个新的日期值。注意,我们使用了一个负数的表达式来表示增加的时间量。

相关函数

除了 DATE_SUB() 函数,MariaDB 还提供了以下与日期和时间相关的函数:

  • DATE_ADD() 函数:用于在一个日期或时间值的基础上增加一个指定的时间间隔,返回一个新的日期或时间值。其语法和用法与 DATE_SUB() 函数类似,只是方向相反。
  • SUBDATE() 函数:与 DATE_SUB() 函数完全等价,只是名称不同。
  • ADDDATE() 函数:与 DATE_ADD() 函数完全等价,只是名称不同。
  • DATE_FORMAT() 函数:用于将一个日期或时间值按照指定的格式进行转换,返回一个格式化后的字符串值。
  • STR_TO_DATE() 函数:用于将一个字符串值按照指定的格式转换为一个日期或时间值,返回一个日期或时间值。

结论

本文介绍了 MariaDB DATE_SUB() 函数的基础用法与实例,该函数用于在一个日期或时间值的基础上减少一个指定的时间间隔,返回一个新的日期或时间值。该函数可以处理不同类型和单位的日期和时间数据,可以用于实现各种日期和时间的计算和转换。