MySQL日期时间函数知识汇总
概述
MySQL提供了丰富的日期时间函数,包括获取当前时间、日期比较、日期格式转换等。掌握这些函数,能够让我们更为方便地操作日期和时间。
在本文中,我们将针对MySQL日期时间函数进行详细讲解,为大家提供完整的攻略。
获取当前时间
NOW()
函数可以返回当前日期和时间。
SELECT NOW(); -- 返回当前日期和时间(例如 2021-06-08 15:30:00)
日期比较
我们可以使用比较运算符对日期进行比较,也可以使用 DATEDIFF()
函数计算两个日期之间的天数差。
SELECT '2021-06-01' < '2021-06-08'; -- 返回1,说明左侧日期确实早于右侧日期
SELECT '2021-06-08' = '2021-06-08'; -- 返回1,说明两个日期相等
SELECT DATEDIFF('2021-06-08', '2021-06-01'); -- 返回7,计算两个日期之间的天数差
日期格式转换
我们经常需要在不同的日期格式之间进行转换。MySQL提供了很多日期格式转换函数。
DATE_FORMAT()
DATE_FORMAT(date, format)
函数可以将日期格式化为指定的格式(字符串)。
以下是一些常用的日期格式化参数:
%Y
: 四位数年份(例如 2021)%y
: 两位数年份(例如 21)%m
: 月份(01 到 12)%d
: 日(01 到 31)%H
: 小时(00 到 23)%h
: 小时(01 到 12)%i
: 分钟(00 到 59)%s
: 秒(00 到 59)
SELECT DATE_FORMAT('2021-06-08', '%y-%m-%d'); -- 返回 21-06-08
SELECT DATE_FORMAT('2021-06-08', '%Y-%m-%d %H:%i:%s'); -- 返回 2021-06-08 15:30:00
STR_TO_DATE()
STR_TO_DATE(str, format)
函数可以将字符串转换为日期型格式。
以下是一些常用的日期格式:
%Y
: 四位数年份(例如 2021)%y
: 两位数年份(例如 21)%m
: 月份(01 到 12)%d
: 日(01 到 31)%H
: 小时(00 到 23)%h
: 小时(01 到 12)%i
: 分钟(00 到 59)%s
: 秒(00 到 59)
SELECT STR_TO_DATE('21-06-08', '%y-%m-%d'); -- 返回 2021-06-08
SELECT STR_TO_DATE('2021/06/08', '%Y/%m/%d'); -- 返回 2021-06-08
示例说明
以下示例说明了如何使用日期时间函数查询距离今天一周内的订单:
SELECT * FROM orders WHERE order_date BETWEEN NOW() - INTERVAL 1 WEEK AND NOW();
以下示例说明了如何使用日期时间函数查询生日在本月的客户:
SELECT * FROM customers WHERE MONTH(birthdate) = MONTH(NOW());
结论
MySQL提供了丰富的日期时间函数,包括获取当前时间、日期比较、日期格式转换等。了解这些函数可以让我们更为方便地操作日期和时间。在使用这些函数时,我们需要好好了解函数的使用方法,尤其是日期格式化参数和日期格式的使用方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL日期时间函数知识汇总 - Python技术站