在 MariaDB 中从日期值中减去一天
本文给出了一个在 MariaDB 中从一个给定的日期种减去一天的示例。
发布于
在 MariaDB 中,要从一个日期中减去一天或多天,您可以使用 SUBDATE()
函数或者减法运算符。
下面给出了几个示例。
示例 1:SUBDATE()
函数
下面的语句使用 SUBDATE()
从指定的日期中减去一天:
SELECT SUBDATE('2022-12-13', 1);
输出:
+--------------------------+
| SUBDATE('2022-12-13', 1) |
+--------------------------+
| 2022-12-12 |
+--------------------------+
这里, SUBDATE()
接受两个参数,第一个参数是一个日期值,第二个参数是要减去的天数。
如果您需要减去多天,直接通过第二个参数给出即可。比如,你需要计算 5 天前的日期:
SELECT SUBDATE(CURDATE(), 5);
输出:
+-----------------------+
| SUBDATE(CURDATE(), 5) |
+-----------------------+
| 2022-12-08 |
+-----------------------+
示例 2: INTERVAL 值
SUBDATE()
函数的第二个参数支持接收一个 INTERVAL 类型的值,比如要减去一个 10 天,您可以使用 INTERVAL 10 DAY
表示。
下面的语句计算 10 天前的日期:
SELECT SUBDATE(CURDATE(), INTERVAL 10 DAY);
输出:
+-------------------------------------+
| SUBDATE(CURDATE(), INTERVAL 10 DAY) |
+-------------------------------------+
| 2022-12-03 |
+-------------------------------------+
示例 3:使用减法运算符 -
MariaDB 允许您直接使用减法运算符 -
对日期/日期时间进行计算。
下面的语句实现了 '2022-12-23'
减去 1 天:
SELECT '2022-12-23' - INTERVAL 1 DAY;
输出:
+-------------------------------+
| '2022-12-23' - INTERVAL 1 DAY |
+-------------------------------+
| 2022-12-22 |
+-------------------------------+
在本例中,日期值通过字符串类型的格式给出, 天数通过 INTERVAL
类型的数据给出。 如果日期值为日期来行,天数可以直接通过一个数字给出。看下面的例子:
SELECT CURDATE(), CURDATE() - 1;
输出:
+------------+---------------+
| CURDATE() | CURDATE() - 1 |
+------------+---------------+
| 2022-12-13 | 20221212 |
+------------+---------------+
示例 4: 加法运算符 (+
)
MariaDB 允许您直接使用加法运算符 +
对日期/日期时间进行计算。
要从一个日期中减去一天,需要使用 加法运算符 +
和一个负数,如下:
SELECT '2022-12-23' + INTERVAL -1 DAY;
输出:
+--------------------------------+
| '2022-12-23' + INTERVAL -1 DAY |
+--------------------------------+
| 2022-12-22 |
+--------------------------------+
下面的语句从当前日期 '2022-12-23'
中减去 60 天:
SELECT '2022-12-23' + INTERVAL -60 DAY;
输出:
+---------------------------------+
| '2022-12-23' + INTERVAL -60 DAY |
+---------------------------------+
| 2022-10-24 |
+---------------------------------+
其他函数
在 MariaDB 中,还有几个函数可以对日期进行计算:
结论
本文讨论了从一个给定的日期中减去给定的天数的几种方法。