MySQL 日期函数
mysql 日期函数
获取月份、星期、星期数、天数等
| 函数 | 用法 | 
|---|---|
| YEAR(date) / MONTH(date) / DAY(date) | 返回具体的日期值 | 
| HOUR(time) / MINUTE(time) /SECOND(time) | 返回具体的时间值 | 
| MONTHNAME(date) | 返回月份:January,... | 
| DAYNAME(date) | 返回星期几:MONDAY,TUESDAY.....SUNDAY | 
| WEEKDAY(date) | 返回周几,注意,周1是0,周2是1,。。。周日是6 | 
| QUARTER(date) | 返回日期对应的季度,范围为1~4 | 
| WEEK(date) , WEEKOFYEAR(date) | 返回一年中的第几周 | 
| DAYOFYEAR(date) | 返回日期是一年中的第几天 | 
| DAYOFMONTH(date) | 返回日期位于所在月份的第几天 | 
| DAYOFWEEK(date) | 返回周几,注意:周日是1,周一是2,。。。周六是7 | 
SELECT DAY(date) AS day,count(*) # 获取具体的日
FROM question_practice_detail
WHERE MONTH(date) = 8  # 获取具体的月份
GROUP BY day;
计算日期和时间的函数
| 函数 | 用法 | 案例 | 
|---|---|---|
| DATE_ADD(datetime, INTERVAL expr type) ADDDATE(date,INTERVAL expr type) | 函数从日期减去指定的时间间隔 | DATE_SUB(date,INTERVAL 1 day) data为2022-1-13,函数的返回值为2022-1-14 | 
| DATE_SUB(date,INTERVAL expr type) SUBDATE(date,INTERVAL expr type) | 函数从日期减去指定的时间间隔 | DATE_SUB(date,INTERVAL 1 day) data为2022-1-13,函数的返回值为2022-1-12 | 
其中的type取值

IMESTAMPDIFF()/DATEDIFF()/timediff() 计算时期时间之间的差值
| 函数 | 作用 | 说明 | 
|---|---|---|
| TIMESTAMPDIFF(interval,datetime1,datetime2) | 计算datetime2-datetime1的差值换算成interval单位 | interval可选:FRAC_SECOND毫秒/SECOND秒/MINUTE分钟/HOUR小时/DAY天/WEEK星期/MONTH月/QUARTER季度/YEAR年 | 
| DATEDIFF(datetime1,datetime2) | 返回值是datetime1-datetime2相差的天数,不能定位到小时、分钟和秒。 | |
| TIMEDIFF(time1,time2) | 返回time1-time2两个时间相减得到的差值 | 
select TIMESTAMPDIFF(DAY, '2018-03-20 23:59:00', '2018-03-22 00:00:00') # 1
select TIMESTAMPDIFF(HOUR, '2018-03-20 09:00:00', '2018-03-22 10:00:00') # 49
select datediff('2018-03-22 09:00:00', '2018-03-20 07:00:00'); # 2
SELECT TIMEDIFF('2018-05-21 14:51:43','2018-05-19 12:54:43');# 2 days, 1:57:00
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号