MariaDB SUBDATE() 函数使用指南
在 MariaDB 中,SUBDATE()
是一个内置函数,可以从给定日期中减去一个给定的时间间隔。
SUBDATE()
与 ADDDATE()
相反。
MariaDB SUBDATE()
语法
这是 MariaDB SUBDATE()
函数的语法:
SUBDATE(date, days)
SUBDATE(date, INTERVAL value unit)
参数
date
- 必需的。需要操作的日期。
days
- 必需的。在
date
上减去的天数。 value
- 必需的。时间/日期间隔。正数和负数都是允许的。
unit
- 必需的。时间/日期间隔的单位。单位可以是以下值中的一个:
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
如果您提供了错误数量的参数,MariaDB 将报告一个错误:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
。
返回值
MariaDB SUBDATE()
函数从指定的日期/时间减去指定的时间间隔,并返回一个新的日期/时间。SUBDATE()
函数的返回值和参数有关:
- 如果
date
参数是DATE
类型,并且时间间隔为YEAR
,MONTH
或者DAY
,返回DATE
。 - 如果
date
参数是DATE
类型,并且时间间隔为HOURS
,MINUTES
或者SECONDS
,返回DATETIME
。 - 如果
date
参数是DATETIME
类型,返回DATETIME
。 - 如果
date
参数是TIME
类型,并且时间间隔为YEAR
,MONTH
或者DAY
,返回DATETIME
。 - 其他情况下返回字符串。
MariaDB SUBDATE()
示例
示例 1 – 减去天数
要为给定的日期减去天数,请使用以下带有 MariaDB SUBDATE()
函数的语句:
SELECT SUBDATE('2023-01-05', 5);
输出:
+--------------------------+
| SUBDATE('2023-01-05', 5) |
+--------------------------+
| 2022-12-31 |
+--------------------------+
MariaDB SUBDATE()
允许您为一个日期时间值减去天数:
SELECT SUBDATE('2023-01-05 10:11:12', 5);
输出:
+-----------------------------------+
| SUBDATE('2023-01-05 10:11:12', 5) |
+-----------------------------------+
| 2022-12-31 10:11:12 |
+-----------------------------------+
示例 2 – INTERVAL
MariaDB SUBDATE()
允许提供一个 INTERVAL
类型的值:
SELECT
SUBDATE('2023-01-05', INTERVAL 10 DAY),
SUBDATE('2023-01-05', INTERVAL 10 HOUR),
SUBDATE('2023-01-05 10:11:12', INTERVAL 10 HOUR),
SUBDATE('2023-01-05 10:11:12', INTERVAL 10 MINUTE)\G
输出:
SUBDATE('2023-01-05', INTERVAL 10 DAY): 2022-12-26
SUBDATE('2023-01-05', INTERVAL 10 HOUR): 2023-01-04 14:00:00
SUBDATE('2023-01-05 10:11:12', INTERVAL 10 HOUR): 2023-01-05 00:11:12
SUBDATE('2023-01-05 10:11:12', INTERVAL 10 MINUTE): 2023-01-05 10:01:12
示例 3 – 添加天数
MariaDB SUBDATE()
允许通过提供要给负值以添加给定的时间间隔:
例:
SELECT
SUBDATE('2023-01-05', -5),
SUBDATE('2023-01-05', INTERVAL -5 DAY)\G
输出:
SUBDATE('2023-01-05', -5): 2023-01-10
SUBDATE('2023-01-05', INTERVAL -5 DAY): 2023-01-10
结论
在 MariaDB 中,SUBDATE()
函数在指定的日期/时间上减去指定到时间间隔加并返回运算结果。