文章目录
- 日期时间函数
- 1. now()
- 2. curdate()
- 3. curtime()
- 4. week(date)
- 5. year(date)、month(date)、day(date)
- 6. datediff(date1,date2)
- 7. adddate(date,n)
日期时间函数
日期操作是 MySQL 中的常用操作,掌握常用的日期时间函数并熟练组合运用,能够帮助我们解决查询中的许多难题。常用的数值函数如下表所示,函数括号内为输入的参数。
函数 | 说明 |
---|---|
now() | 返回当前日期时间 |
curdate() | 返回当前日期 |
curtime() | 返回当前时间 |
week(date) | 返回 date 日期是一年中的第几周 |
year(date)、month(date)、day(date) | 返回 date 日期中的年份、月份、日 |
datediff(date1, date12) | 返回两个日期间隔的天数:date1-date2 |
adddate(date,n) | 返回 date 日期添加 n 天后的新日期 |
下面使用 SQL 语句对上述日期时间函数进行演示。
1. now()
返回当前日期时间。
MariaDB [world]> select now();
+---------------------+
| now() |
+---------------------+
| 2023-05-24 09:27:21 |
+---------------------+
1 row in set (0.000 sec)
2. curdate()
返回当前日期。
MariaDB [world]> select curdate();
+------------+
| curdate() |
+------------+
| 2023-05-24 |
+------------+
1 row in set (0.000 sec)
3. curtime()
返回当前时间。
MariaDB [world]> select curtime();
+-----------+
| curtime() |
+-----------+
| 09:27:54 |
+-----------+
1 row in set (0.000 sec)
4. week(date)
返回 date 日期是一年中的第几周。
MariaDB [world]> select week('2023-05-24');
+--------------------+
| week('2023-05-24') |
+--------------------+
| 21 |
+--------------------+
1 row in set (0.000 sec)
5. year(date)、month(date)、day(date)
返回 date 日期中的年份、月份、日。
MariaDB [world]> select year('2023-05-24'), month('2023-05-24'), day('2023-05-24');
+--------------------+---------------------+-------------------+
| year('2023-05-24') | month('2023-05-24') | day('2023-05-24') |
+--------------------+---------------------+-------------------+
| 2023 | 5 | 24 |
+--------------------+---------------------+-------------------+
1 row in set (0.000 sec)
6. datediff(date1,date2)
返回 date1 与 date2 间隔的天数。
MariaDB [world]> select datediff('2023-05-24', '2023-05-01');
+--------------------------------------+
| datediff('2023-05-24', '2023-05-01') |
+--------------------------------------+
| 23 |
+--------------------------------------+
1 row in set (0.000 sec)
结果解析:如果 date1 日期比 date2 日期小,输出为负值。
7. adddate(date,n)
返回 date 日期添加 n 天后的新日期。
MariaDB [(none)]> select adddate('2023-05-24', 10);
+---------------------------+
| adddate('2023-05-24', 10) |
+---------------------------+
| 2023-06-03 |
+---------------------------+
1 row in set (0.000 sec)