1. 查看日期/时间
1.1 查看当前的日期/时间
(1)NOW():返回当前的日期时间;
(2)CURDATE():返回当前的日期;
(3)CURTIME():返回当前的时间;
SELECT NOW(),CURDATE(),CURTIME();
![](https://pic3.zhimg.com/80/v2-4e600db5c06730a3369d139549c2ea02_720w.webp)
NOW()/CURDATE()/CURTIME()
1.2 提取指定的日期/时间成分
(1)YEAR():提取年份;
(2)MONTH():提取月份;
(3)DAY():提取天(号/日);
(4)HOUR():提取小时;
(5)MINUTE():提取分钟;
(6)SECOND():提取秒。
SELECT NOW(),YEAR(NOW()),MONTH(NOW()),DAY(NOW()),
HOUR(NOW()),MINUTE(NOW()),SECOND(NOW());
![](https://pic1.zhimg.com/80/v2-e114eff775cf003419ba4b9a761dfd78_720w.webp)
YEAR()/MONTH()/DAY()/HOUR()/MINUTE()/SECOND()
(7)DAYNAME():返回传入日期对应的星期数;
(8)MONTHNAME():返回传入日期对应的字符串形式的月份。
SELECT NOW(),DAYNAME(NOW()),MONTHNAME(NOW());
![](https://pic3.zhimg.com/80/v2-ac260bbf3be5f7842175286e621014be_720w.webp)
DAYNAME()/MONTHNAME()
(1)—(6):返回的结果是整数型,(7)—(8):返回的结果是字符型。
关于提取指定的日期/时间成分,还有一个常见的函数,那就是EXTRACT()。
(9)EXTRACT(type from date/time)
SELECT NOW(),EXTRACT(HOUR FROM NOW());
![](https://pic1.zhimg.com/80/v2-c6ebc38dc62c388322951309942bc0e0_720w.webp)
EXTRACT()
2. 格式化日期/时间
(1)DATE_FORMAT(date, format):格式化日期
SELECT NOW(),DATE_FORMAT(NOW(), '%Y%m%d');
SELECT NOW(),DATE_FORMAT(NOW(), '%Y-%m-%d');
SELECT NOW(),DATE_FORMAT(NOW(), '%y-%m-%D');
SELECT NOW(),DATE_FORMAT(NOW(), '%M %D %Y');
![](https://pic1.zhimg.com/80/v2-a9b7084fd820e9a8152b4e0e6edb4c8c_720w.webp)
DATE_FORMAT(date, '%Y%m%d')
![](https://pic1.zhimg.com/80/v2-c7a6ddbee876a82957feae2dc9bdeadc_720w.webp)
DATE_FORMAT(date, '%Y-%m-%d')
![](https://pic4.zhimg.com/80/v2-180b0b34c2b3686bec2c02ee26e266df_720w.webp)
DATE_FORMAT(date, '%y-%m-%D')
![](https://pic4.zhimg.com/80/v2-deb6bca0ef042f8627378071fe451e23_720w.webp)
DATE_FORMAT(date, '%M %D %Y')
以2023年3月5日为例:%Y——2023,%y——23,%M——March,%m——03,%D——5th,%d——05。
(2)TIME_FORMAT(time, format):格式化时间
SELECT NOW(),TIME_FORMAT(NOW(), '%H:%i:%s');
SELECT NOW(),TIME_FORMAT(NOW(), '%h:%i:%s %p');
![](https://pic4.zhimg.com/80/v2-9d11a54f7c60a3dcf9fa59e36e6b0f33_720w.webp)
TIME_FORMAT(time, '%H:%i:%s')
![](https://pic1.zhimg.com/80/v2-363a6d66490c7bc7babd32ac9c952d60_720w.webp)
TIME_FORMAT(time, '%h:%i:%s %p')
以20:56:30为例:%H——20,%h——08,%i——56,%s——30,%p——PM。
3. 计算日期/时间
(1)DATE_ADD(date, INTERVAL expr type)
SELECT NOW(),DATE_ADD(NOW(), INTERVAL 1 DAY); -- 当前日期 + 1天
SELECT NOW(),DATE_ADD(NOW(), INTERVAL -1 YEAR); -- 当前日期 - 1年
SELECT NOW(),DATE_ADD(NOW(), INTERVAL 1 HOUR); -- 当前日期 + 1小时
![](https://pic4.zhimg.com/80/v2-22ae596acff69f83aa48dc1db1332bf3_720w.webp)
DATE_ADD(date, INTERVAL 1 DAY)
![](https://pic4.zhimg.com/80/v2-a6c6649b690aa9483fd3045dca7f331f_720w.webp)
DATE_ADD(date, INTERVAL -1 YEAR)
![](https://pic2.zhimg.com/80/v2-d70d307a8e7ed49c28bd3db86f537fe9_720w.webp)
DATE_ADD(date, INTERVAL 1 HOUR)
(2)DATE_SUB(date, INTERVAL expr type)
SELECT NOW(),DATE_SUB(NOW(), INTERVAL 1 YEAR); -- 当前日期 - 1年
SELECT NOW(),DATE_SUB(NOW(), INTERVAL -1 DAY); -- 当前日期 + 1天
![](https://pic1.zhimg.com/80/v2-30b2f03b6042f85fe79e06a0c7332bb8_720w.webp)
DATE_SUB(date, INTERVAL 1 YEAR)
![](https://pic1.zhimg.com/80/v2-6e9d3db048b978f37ec9e533936fa3c4_720w.webp)
DATE_SUB(date, INTERVAL -1 DAY)
(3)DATEDIFF(expr, expr2):返回天数的间隔,不考虑时分秒,且为 expr - expr2
SELECT DATEDIFF('2023-3-5', '2023-2-5'); -- 28
SELECT DATEDIFF('2023-2-5', '2023-3-5'); -- -28
![](https://pic4.zhimg.com/80/v2-e017f737c00c95722067546414bad4cb_720w.webp)
DATEDIFF('2023-3-5', '2023-2-5')
![](https://pic1.zhimg.com/80/v2-b9bb0167f2c729f8da626319a7d8ac28_720w.webp)
DATEDIFF('2023-2-5', '2023-3-5')
(4)TIME_TO_SEC(time):返回传入时刻与零点的秒数差,不考虑日期
SELECT TIME_TO_SEC('21:00'); -- 75600 = 21*3600
SELECT TIME_TO_SEC('21:00:02'); -- 75602 = 21*3600 + 2
![](https://pic3.zhimg.com/80/v2-3230534b794fd68a751c511d62bc410e_720w.webp)
TIME_TO_SEC('21:00')
![](https://pic4.zhimg.com/80/v2-79f1909a2be8f0c095d3091fc1912cf7_720w.webp)
TIME_TO_SEC('21:00:02')
标签:39,函数,FORMAT,日期,&#,MySQL,DATE,NOW,SELECT From: https://www.cnblogs.com/Mellita/p/17894402.html