最全的MySQL时间函数总结

  1. NOW():返回当前日期和时间
SELECT NOW();

这将返回当前日期和时间的值,例如:2023-03-11 15:32:45。

  1. DATE():从日期时间值中提取日期部分:
SELECT DATE('2023-03-11 15:32:45');

这将返回日期部分的值,即:2023-03-11。

  1. TIME():从日期时间值中提取时间部分:
SELECT TIME('2023-03-11 15:32:45');

这将返回时间部分的值,即:15:32:45。

  1. YEAR():从日期时间值中提取年份部分:
SELECT YEAR('2023-03-11 15:32:45');

这将返回年份部分的值,即:2023。

  1. MONTH():从日期时间值中提取月份部分:
SELECT MONTH('2023-03-11 15:32:45');

这将返回月份部分的值,即:3。

  1. DAY():从日期时间值中提取天数部分:
SELECT DAY('2023-03-11 15:32:45');

这将返回天数部分的值,即:11。

  1. HOUR():从日期时间值中提取小时部分:
SELECT HOUR('2023-03-11 15:32:45');

这将返回小时部分的值,即:15。

  1. MINUTE():从日期时间值中提取分钟部分:
SELECT MINUTE('2023-03-11 15:32:45');

这将返回分钟部分的值,即:32。

  1. SECOND():从日期时间值中提取秒数部分:
SELECT SECOND('2023-03-11 15:32:45');

这将返回秒数部分的值,即:45。

  1. CURDATE():返回当前日期
SELECT CURDATE();

这将当前日期,即:2023-03-11。

  1. UNIX_TIMESTAMP():返回当前时间戳:
SELECT UNIX_TIMESTAMP();

这将返回当前时间戳的值,例如:1647045165。

  1. FROM_UNIXTIME():将时间戳转换为日期时间值:
SELECT FROM_UNIXTIME(1647045165);

这将返回时间戳对应的日期时间值,例如:2023-03-11 15:39:25。

  1. DATE_FORMAT():将日期时间值格式化为指定的字符串:
SELECT DATE_FORMAT('2023-03-11 15:32:45', '%Y-%m-%d %H:%i:%s');

这将返回日期时间值的格式化字符串,即:2023-03-11 15:32:45。您可以在DATE_FORMAT函数的第二个参数中指定所需的格式。

  1. TIME_FORMAT():将时间值格式化为指定的字符串格式:
SELECT TIME_FORMAT('15:32:45', '%H:%i:%s');

这将返回时间值的格式化字符串,即:15:32:45。您可以在TIME_FORMAT函数的第二个参数中指定所需的格式。

  1. STR_TO_DATE(): 将字符串转换为日期时间值:
SELECT STR_TO_DATE('2023-03-11', '%Y-%m-%d');

这将返回字符串对应的日期时间值,即:2023-03-11。您可以在STR_TO_DATE函数的第二个参数中指定所需的格式。

  1. WEEKDAY(): 返回给定日期的星期几:
SELECT WEEKDAY('2023-03-11');

这将返回给定日期的星期几的值,例如:5(表示星期六,周一为0)。

  1. DAYNAME():返回给定日期的星期几的名称:
SELECT DAYNAME('2023-03-11');

这将返回给定日期的星期几的名称,即返回”Saturday”

  1. MONTHNAME(): 返回给定日期的月份的名称:
SELECT MONTHNAME('2023-03-11');

这将返回给定日期的月份的名称,例如:March。

  1. YEARWEEK(): 返回给定日期的年份和周数:
SELECT YEARWEEK('2023-03-11');

这将返回给定日期的年份和周数的值,例如:202310。

  1. TIMEDIFF():计算两个时间值之间的时间差。
SELECT TIMEDIFF('2023-03-11 16:00:00', '2023-03-11 15:00:00');

这将返回两个时间值之间的时间差,例如:01:00:00。

  1. TIMESTAMPDIFF():计算两个日期时间值之间的时间差,以指定的时间单位返回结果。
SELECT TIMESTAMPDIFF(HOUR, '2023-03-11 15:00:00', '2023-03-11 16:00:00');

这将返回两个时间值之间的小时数,即:1。

  1. UTC_DATE():返回当前UTC日期。
SELECT UTC_DATE();

这将返回当前UTC日期的值,例如:2023-03-11。

  1. UTC_TIME():返回当前UTC时间。
SELECT UTC_TIME();

这将返回当前UTC时间的值,例如:15:32:45。

  1. UTC_TIMESTAMP():返回当前UTC日期和时间。
SELECT UTC_TIMESTAMP();

这将返回当前UTC日期和时间的值,例如:2023-03-11 07:32:45。

  1. SEC_TO_TIME():将秒数转换为时间值。
SELECT SEC_TO_TIME(3600);

这将返回秒数对应的时间值,即:01:00:00。

  1. TIME_TO_SEC():将时间值转换为秒数。
SELECT TIME_TO_SEC('01:00:00');

这将返回时间值对应的秒数,即:3600。

  1. LAST_DAY():获取指定时间的当月的最后一天
SELECT LAST_DAY(DATE('2023-03-11  16:00:03'));

返回的结果为“2023-03-31”

  1. ADDDATE(): 将日期加上指定的天数
SELECT ADDDATE('2023-03-11', INTERVAL 7 DAY);

这将返回日期加上7天后的值,即:2023-03-18。

  1. SUBDATE(): 将日期减去指定的天数
SELECT SUBDATE('2023-03-11', INTERVAL 7 DAY);

这将返回日期减去7天后的值,即:2023-03-04。

  1. DATEDIFF(): 计算两个日期之间的天数差
SELECT DATEDIFF('2023-03-11', '2023-03-04');

这将返回两个日期之间的天数差,即:7。

  1. TIMEDIFF(): 计算两个时间之间的时间差
SELECT TIMEDIFF('23:59:59', '12:00:00');

这将返回两个时间之间的时间差,即:11:59:59。

  1. TIMESTAMPDIFF(): 计算两个日期之间的差
SELECT TIMESTAMPDIFF(DAY, '2023-03-04', '2023-03-11');

这将返回两个日期之间的天数差,即:7。可以在TIMESTAMPDIFF函数的第一个参数中指定所需的时间单位。

  1. 计算当前月份的第一天和最后一天:
SELECT DATE_FORMAT(NOW(), '%Y-%m-01') AS first_day_of_month, LAST_DAY(NOW()) AS last_day_of_month;

这将返回当前月份的第一天和最后一天的值,例如:2023-03-01和2023-03-31。

  1. 计算指定月份的第一天和最后一天:
SELECT DATE_FORMAT('2023-06-15', '%Y-%m-01') AS first_day_of_month, LAST_DAY('2023-06-15') AS last_day_of_month;

这将返回指定月份的第一天和最后一天的值,例如:2023-06-01和2023-06-30。

  1. 计算当前周的第一天和最后一天:
SELECT DATE_FORMAT(DATE_ADD(NOW(), INTERVAL(1-DAYOFWEEK(NOW())) DAY), '%Y-%m-%d') AS first_day_of_week, DATE_FORMAT(DATE_ADD(NOW(), INTERVAL(7-DAYOFWEEK(NOW())) DAY), '%Y-%m-%d') AS last_day_of_week;

这将返回当前周的第一天和最后一天的值(默认周日为每周的第一天),例如:2023-03-05和2023-03-11。

  1. 计算指定日期所在周的第一天和最后一天:
SELECT DATE_FORMAT(DATE_ADD('2023-06-15', INTERVAL(1-DAYOFWEEK('2023-06-15')) DAY), '%Y-%m-%d') AS first_day_of_week, DATE_FORMAT(DATE_ADD('2023-06-15', INTERVAL(7-DAYOFWEEK('2023-06-15')) DAY), '%Y-%m-%d') AS last_day_of_week;

这将返回指定日期所在周的第一天和最后一天的值,例如:2023-06-11和2023-06-17。

链接到文章: https://www.gkxyz.com/zuiquandemysqlshijianhanshuzongjie.html

推荐站点

  • 腾讯云 – 产业智变 云启未来

    腾讯云为数百万的企业和开发者提供安全稳定的云计算服务,涵盖云服务器、云数据库、云存储、视频与CDN、域名注册等 […]

  • Akamai(Linode)

    Deploy more with Linux virtual machines, global infrast […]

  • Vultr

    Vultr Global Cloud Hosting – Brilliantly Fast SSD […]

  • RAKsmart

    主机商介绍:RAKsmart是知名的美国服务器租用商,包括美国站群服务器、美国cn2服务器、香港服务器等热门产 […]

评论已关闭