首页 > 数据库 > 数据库开发技术 > MySQL时间函数总结

竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生SELECT NOW();
SELECT DATE('2023-03-11 15:32:45');
SELECT TIME('2023-03-11 15:32:45');这将返回时间部分的值,即:15:32:45。
SELECT YEAR('2023-03-11 15:32:45');
SELECT MONTH('2023-03-11 15:32:45');
SELECT DAY('2023-03-11 15:32:45');
SELECT HOUR('2023-03-11 15:32:45');
SELECT MINUTE('2023-03-11 15:32:45');这将返回分钟部分的值,即:32。
SELECT SECOND('2023-03-11 15:32:45');
SELECT CURDATE();
SELECT UNIX_TIMESTAMP();
SELECT FROM_UNIXTIME(1647045165);
SELECT DATE_FORMAT('2023-03-11 15:32:45', '%Y-%m-%d %H:%i:%s');这将返回日期时间值的格式化字符串,即:2023-03-11 15:32:45。您可以在DATE_FORMAT函数的第二个参数中指定所需的格式。
SELECT TIME_FORMAT('15:32:45', '%H:%i:%s');这将返回时间值的格式化字符串,即:15:32:45。 PS:可以在TIME_FORMAT函数的第二个参数中指定所需的格式。
SELECT STR_TO_DATE('2023-03-11', '%Y-%m-%d');这将返回字符串对应的日期时间值,即:2023-03-11。您可以在STR_TO_DATE函数的第二个参数中指定所需的格式。
SELECT WEEKDAY('2023-03-11');这将返回给定日期的星期几的值,例如:5(表示星期六,周一为0)。
SELECT DAYNAME('2023-03-11');这将返回给定日期的星期几的名称,即返回"Saturday"
SELECT MONTHNAME('2023-03-11');这将返回给定日期的月份的名称,例如:March。
SELECT YEARWEEK('2023-03-11');这将返回给定日期的年份和周数的值,例如:202310。
SELECT TIMEDIFF('2023-03-11 16:00:00', '2023-03-11 15:00:00');这将返回两个时间值之间的时间差,例如:01:00:00。
SELECT TIMESTAMPDIFF(HOUR, '2023-03-11 15:00:00', '2023-03-11 16:00:00');
SELECT UTC_DATE();这将返回当前UTC日期的值,例如:2023-03-11。
SELECT UTC_TIME();这将返回当前UTC时间的值,例如:15:32:45。
SELECT UTC_TIMESTAMP();这将返回当前UTC日期和时间的值,例如:2023-03-11 07:32:45。
SELECT SEC_TO_TIME(3600);这将返回秒数对应的时间值,即:01:00:00。
SELECT TIME_TO_SEC('01:00:00');这将返回时间值对应的秒数,即:3600。
SELECT LAST_DAY(DATE('2023-03-11 16:00:03'));
返回的结果为“2023-03-31”
SELECT ADDDATE('2023-03-11', INTERVAL 7 DAY);
SELECT SUBDATE('2023-03-11', INTERVAL 7 DAY);这将返回日期减去7天后的值,即:2023-03-04。
SELECT DATEDIFF('2023-03-11', '2023-03-04');这将返回两个日期之间的天数差,即:7。
SELECT TIMEDIFF('23:59:59', '12:00:00');这将返回两个时间之间的时间差,即:11:59:59。
SELECT TIMESTAMPDIFF(DAY, '2023-03-04', '2023-03-11');这将返回两个日期之间的天数差,即:7。可以在TIMESTAMPDIFF函数的第一个参数中指定所需的时间单位。
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。
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。
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。
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。

4. 监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库
5. PostgreSQL主从复制--物理复制
6. MySQL传统点位复制在线转为GTID模式复制




原文作者:数据库干货铺;如有侵权,请联系管理员删除。