MySQL中的日期函数有哪些?如何使用它们?

MySQL中的日期函数包括CURDATE()、CURTIME()和NOW()等,用于获取当前日期、时间和日期时间。

MySQL日期函数是处理数据库中时间和日期数据的重要工具,它们可以帮助用户进行各种复杂的日期和时间操作,以下是一些常见的MySQL日期函数及其用法:

获取当前日期和时间

mysql日期函数_日期函数

1、NOW(): 返回当前的日期和时间。

   SELECT NOW();

2、CURDATE(): 返回当前日期。

   SELECT CURDATE();

3、CURTIME(): 返回当前时间。

   SELECT CURTIME();

4、CURRENT_TIMESTAMP(): 返回当前的日期和时间,类似于NOW()。

   SELECT CURRENT_TIMESTAMP();

5、SYSDATE(): 返回服务器的当前日期和时间,与NOW()类似,但值在函数执行时动态获得。

   SELECT SYSDATE();

日期和时间加减

1、ADDDATE(date, INTERVAL value unit): 给日期加上指定的时间间隔。

   SELECT ADDDATE('2023-11-11', INTERVAL 31 DAY); -结果为2023-12-12

2、ADDTIME(time, INTERVAL value unit): 给时间加上指定的时间间隔。

   SELECT ADDTIME('11:11:11', INTERVAL 5 SECOND); -结果为11:11:16

3、DATE_ADD(date, INTERVAL value unit): 计算起始日期加上一个时间段后的日期。

   SELECT DATE_ADD('2023-11-11', INTERVAL 10 DAY); -结果为2023-11-21

4、SUBDATE(date, INTERVAL value unit): 日期减去指定的时间间隔。

mysql日期函数_日期函数
   SELECT SUBDATE('2023-11-11', INTERVAL 1 DAY); -结果为2023-11-10

日期格式化和转换

1、DATE_FORMAT(date, format): 按指定格式显示日期。

   SELECT DATE_FORMAT('2023-11-11', '%Y-%m-%d %r'); -结果为2023-11-11 11:11:11 AM

2、STR_TO_DATE(str, format): 将字符串转换为日期。

   SELECT STR_TO_DATE('August 10, 2017', '%M %d, %Y'); -结果为2017-08-10

3、TIME_FORMAT(time, format): 按指定格式显示时间。

   SELECT TIME_FORMAT('11:11:11', '%H:%i:%s'); -结果为11:11:11

提取日期和时间部分

1、YEAR(date): 提取年份。

   SELECT YEAR('2023-11-11'); -结果为2023

2、MONTH(date): 提取月份。

   SELECT MONTH('2023-11-11'); -结果为11

3、DAY(date): 提取天数。

   SELECT DAY('2023-11-11'); -结果为11

4、WEEKDAY(date): 返回星期几(0表示星期一,6表示星期日)。

   SELECT WEEKDAY('2023-11-11'); -结果为5(星期六)

5、DAYOFMONTH(date): 计算日期是本月的第几天。

   SELECT DAYOFMONTH('2023-11-11'); -结果为11

6、DAYOFWEEK(date): 返回日期是星期几(1表示星期日,7表示星期六)。

mysql日期函数_日期函数
   SELECT DAYOFWEEK('2023-11-11'); -结果为6(星期六)

7、DAYOFYEAR(date): 计算日期是本年的第几天。

   SELECT DAYOFYEAR('2023-11-11'); -结果为315(假设2023年是非闰年)

8、HOUR(time): 返回小时值。

   SELECT HOUR('11:11:11'); -结果为11

9、MINUTE(time): 返回分钟值。

   SELECT MINUTE('11:11:11'); -结果为11

10、SECOND(time): 返回秒数。

    SELECT SECOND('11:11:11'); -结果为11

日期差异计算

1、DATEDIFF(date1, date2): 计算两个日期之间的天数差。

   SELECT DATEDIFF('2023-12-12', '2023-11-11'); -结果为31

2、TIMEDIFF(time1, time2): 计算两个时间之间的差值。

   SELECT TIMEDIFF('13:10:11', '13:10:10'); -结果为00:00:01

3、TIMESTAMPDIFF(unit, time1, time2): 计算时间差,返回time2 time1的时间差。

   SELECT TIMESTAMPDIFF(DAY, '2023-12-12', '2023-11-11'); -结果为31

表格示例:常用日期函数及其用途

函数名称 用途描述
NOW() 返回当前的日期和时间。
CURDATE() 返回当前日期。
CURTIME() 返回当前时间。
CURRENT_TIMESTAMP() 返回当前的日期和时间,类似于NOW()。
SYSDATE() 返回服务器的当前日期和时间,与NOW()类似,但值在函数执行时动态获得。
ADDDATE(date, INTERVAL value unit) 给日期加上指定的时间间隔。
ADDTIME(time, INTERVAL value unit) 给时间加上指定的时间间隔。
DATE_ADD(date, INTERVAL value unit) 计算起始日期加上一个时间段后的日期。
SUBDATE(date, INTERVAL value unit) 日期减去指定的时间间隔。
DATE_FORMAT(date, format) 按指定格式显示日期。
STR_TO_DATE(str, format) 将字符串转换为日期。
TIME_FORMAT(time, format) 按指定格式显示时间。
YEAR(date) 提取年份。
MONTH(date) 提取月份。
DAY(date) 提取天数。
WEEKDAY(date) 返回星期几(0表示星期一,6表示星期日)。
DAYOFMONTH(date) 计算日期是本月的第几天。
DAYOFWEEK(date) 返回日期是星期几(1表示星期日,7表示星期六)。
DAYOFYEAR(date) 计算日期是本年的第几天。
HOUR(time) 返回小时值。
MINUTE(time) 返回分钟值。
SECOND(time) 返回秒数。
DATEDIFF(date1, date2) 计算两个日期之间的天数差。
TIMEDIFF(time1, time2) 计算两个时间之间的差值。
TIMESTAMPDIFF(unit, time1, time2) 计算时间差,返回time2 time1的时间差。

常见问题解答(FAQs)

Q1:如何使用MySQL中的日期函数来计算两个日期之间的天数差?

A:可以使用DATEDIFF 函数来计算两个日期之间的天数差。

SELECT DATEDIFF('2023-12-12', '2023-11-11'); -结果为31天

这个函数会返回两个日期间相差的天数,如果第一个日期晚于第二个日期,则结果为正数;反之则为负数。

Q2:如何在MySQL中格式化日期?

A:使用DATE_FORMAT 函数可以按指定格式显示日期。

SELECT DATE_FORMAT('2023-11-11', '%Y-%m-%d %r'); -结果为 "2023-11-11 11:11:11 AM"

DATE_FORMAT 函数的第一个参数是要格式化的日期,第二个参数是格式字符串,其中%Y%m%d 等分别代表年、月、日等。

Q3:如何将字符串转换为MySQL中的日期类型?

A:使用STR_TO_DATE 函数可以将字符串转换为日期。

SELECT STR_TO_DATE('August 10, 2017', '%M %d, %Y'); -结果为 "2017-08-10"

STR_TO_DATE 函数的第一个参数是要转换的字符串,第二个参数是格式字符串,用于定义字符串的格式。%M 表示月份的全称,%d 表示带前导零的天数,%Y 表示四位数的年份。

小编有话说

MySQL的日期函数在数据处理中扮演着至关重要的角色,从获取当前日期和时间到复杂的日期计算和格式化,这些函数提供了强大的功能来满足各种需求,掌握这些函数不仅能提高工作效率,还能使数据处理过程更加灵活和高效,希望本文能帮助大家更好地理解和应用MySQL的日期函数。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1387746.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希的头像未希新媒体运营
上一篇 2024-12-07 12:26
下一篇 2024-12-07 12:29

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入