文章目录
- 概述
- 日期和时间函数
 
 
概述
在 MySQL 中,有许多常用的日期和时间函数,可以帮助你处理和操作日期和时间字段。
日期和时间函数
-  获取当前日期和时间 - NOW(): 返回当前的日期和时间。
- CURRENT_DATE() 或 CURDATE(): 返回当前的日期(不包括时间)。
- CURRENT_TIME() 或 CURTIME(): 返回当前的时间(不包括日期)。
 SELECT NOW(); -- 例如:2024-08-07 12:34:56 SELECT CURDATE(); -- 例如:2024-08-07 SELECT CURTIME(); -- 例如:12:34:56
-  日期和时间的格式化 - DATE_FORMAT(date, format): 按指定格式格式化日期。
 SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 例如:2024-08-07 12:34:56
-  日期和时间的计算 - DATE_ADD(date, INTERVAL value unit): 增加指定时间间隔。【同ADDDATE()】
- DATE_SUB(date, INTERVAL value unit): 减去指定时间间隔。【同SUBDATE()】
 SELECT DATE_ADD(NOW(), INTERVAL 1 DAY); -- 增加1天 SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR); -- 减少1小时
-  提取日期和时间的组成部分 - YEAR(date): 提取年份。
- MONTH(date): 提取月份。
- DAY(date): 提取日期。
- HOUR(time): 提取小时。
- MINUTE(time): 提取分钟。
- SECOND(time): 提取秒。
 SELECT YEAR(NOW()); -- 例如:2024 SELECT MONTH(NOW()); -- 例如:8 SELECT DAY(NOW()); -- 例如:7 SELECT HOUR(NOW()); -- 例如:12 SELECT MINUTE(NOW()); -- 例如:34 SELECT SECOND(NOW()); -- 例如:56
-  日期和时间的比较 - DATEDIFF(date1, date2): 返回两个日期之间的天数差。【date1-date2】
- TIMESTAMPDIFF(unit, datetime1, datetime2): 返回两个日期时间之间的指定单位的差值。
 SELECT DATEDIFF('2024-08-10', '2024-08-07'); -- 返回3天 SELECT TIMESTAMPDIFF(HOUR, '2024-08-07 10:00:00', '2024-08-07 12:00:00'); -- 返回2小时
-  获取特定时间点的日期 -  LAST_DAY(date): 返回日期所在月份的最后一天。
-  DAYOFWEEK(date): 返回日期对应的星期几(1=星期日,2=星期一,…,7=星期六)。
-   
-  WEEK(date, mode): 返回日期所在周的周数。
 SELECT LAST_DAY(NOW()); -- 返回当前月的最后一天 SELECT DAYOFWEEK(NOW()); -- 返回当前日期的星期几 SELECT WEEK(NOW(), 1); -- 返回当前日期所在周的周数,mode 1 表示周一为一周的第一天
-  
这些函数可以帮助你更高效地处理和操作MySQL中的日期和时间数据,根据具体需求选择合适的函数。
面试问了几次,总结一下。
面试常考SQL:
 连接查询
 group by
 order by
 limit…
