- date()
date(datetime)
函数返回日期或日期/时间表达式的日期部分。从datetime中取出date - hour()
HOUR(time)
返回时间的小时。 对于一天时间值,返回值的范围是0到23。 但是,TIME值的范围实际上要大得多,所以HOUR可以返回大于23的值。 - minute()
MINUTE(time)
返回时间分钟,范围为0到59。 - SECOND(time)
返回时间秒数,范围为0到59。
SELECT hour('12:13:14'); # 12
SELECT hour('122:13:14'); # 122
SELECT hour('12-13-14'); # 0
SELECT hour('2008-09-10 12:13:14'); # 12
SELECT hour('2008-09-10 122:13:14'); # null
SELECT hour('2008-09-10 12-13-14'); # 12
- DATE_FORMAT()函数用于以不同的格式显示日期/时间数据
语法:
DATE_FORMAT(date,format)
date 参数是合法的日期。format 规定日期/时间的输出格式。
%Y 年,4 位
%y 年,2 位
select DATE_FORMAT(NOW(),'%Y')------------>2019
select DATE_FORMAT(NOW(),'%y')----------->19
%M 月名
%m 月,数值(00-12)
select DATE_FORMAT(NOW(),'%M')------->July
select DATE_FORMAT(NOW(),'%m');---------->07
%D 带有英文前缀的月中的天
%d 月的天,数值(00-31)
%e 月的天,数值(0-31)
select DATE_FORMAT(NOW(),'%D');------------>17th
select DATE_FORMAT(NOW(),'%d');----------->17
select DATE_FORMAT(NOW(),'%e')-------------->17
%H 小时 (00-23)
%k 小时 (0-23)
%h 小时 (01-12)
%I 小时 (01-12)
select DATE_FORMAT(NOW(),'%H');------------------>20
select DATE_FORMAT(NOW(),'%k');------------------->20
select DATE_FORMAT(NOW(),'%h');------------------->08
select DATE_FORMAT(NOW(),'%I');--------------------->08
%i 分钟,数值(00-59)
select DATE_FORMAT(NOW(),'%i');--------------------->09
%S 秒(00-59)
%s 秒(00-59)
select DATE_FORMAT(NOW(),'%S');---------------------->23
select DATE_FORMAT(NOW(),'%s');---------------------->23
%a 缩写英文星期名
%b 缩写英文月名
%c 月,数值
select DATE_FORMAT(NOW(),'%a');-------------->Wed
select DATE_FORMAT(NOW(),'%b');---------------->Jul
select DATE_FORMAT(NOW(),'%c');---------------->7
%j 年的天 (001-366)
select DATE_FORMAT(NOW(),'%j');------------------->198
%p AM 或 PM
%r 时间,12-小时(hh:mm:ss AM 或 PM)
select DATE_FORMAT(NOW(),'%p');-------------->PM
select DATE_FORMAT(NOW(),'%r');---------------->08:14:49 PM
%T 时间, 24-小时 (hh:mm:ss)
select DATE_FORMAT(NOW(),'%T');---------------->20:16:05
%U 周 (00-53) 星期日是一周的第一天
%u 周 (00-53) 星期一是一周的第一天
select DATE_FORMAT(NOW(),'%U');------------>28
select DATE_FORMAT(NOW(),'%u');--------------->29
%V 周 (01-53) 星期日是一周的第一天,与 %X 使用
%v 周 (01-53) 星期一是一周的第一天,与 %x 使用
%W 星期名
%w 周的天 (0=星期日, 6=星期六)
select DATE_FORMAT(NOW(),'%W');-------------->Wednesday
select DATE_FORMAT(NOW(),'%w');--------------->3
%X 年,其中的星期日是周的第一天,4 位,与 %V 使用
%x 年,其中的星期一是周的第一天,4 位,与 %v 使用
select now()
select DATE_FORMAT(NOW(),'%Y%m%d')
select DATE_FORMAT(NOW(),'%Y-%m-%d')
select DATE_FORMAT(NOW(),'%Y%m%d %T');
select DATE_FORMAT(NOW(),'%Y-%m-%d %T')
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')----------->Dec 29 2008 11:45 PM
DATE_FORMAT(NOW(),'%m-%d-%Y')-------->12-29-2008
DATE_FORMAT(NOW(),'%d %b %y')--------->29 Dec 08
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')---------->29 Dec 2008 16:25:46.635
拓展:
weekday()-- 返回当前是一周的第几天
select weekday('2019-07-15');------------>0
select weekday('2019-07-16')
select weekday('2019-07-17')
select weekday('2019-07-18')
select weekday('2019-07-19')
select weekday('2019-07-20')
select weekday('2019-07-21')--------------->6
select weekday('2019-07-22')----------------->0
可以看出weekday()是0~6,认为周一是第0天,周日是第6天
select dayofweek('2019-07-14')----------------->1
dayofweek()是1~7,认为周日是一周中的第1天,周六是第7天
2019-07-17是星期三
select WEEKDAY('2019-07-17')-------------->2
select DATE_SUB('2019-07-17',INTERVAL WEEKDAY('2019-07-17') DAY)------------------>2019-07-15
select DATE_SUB('2019-07-17',INTERVAL WEEKDAY('2019-07-17') DAY)+0----------------->20190715
select '20190715'!='2019-07-15'---------->1 假
select '20190715'='2019-07-15'---------->0 真
select 20190715='2019-07-15'------------>0 真
SELECT '2019-07-17' +0-------------->2019
SELECT '20190717' +0-------------->20190717
SELECT '20190717' +1-------------->20190718
SELECT '20180101' + '20190101'----------->40370202
SELECT * FROM 表名 WHERE created = DATE_SUB('2019-07-17',INTERVAL WEEKDAY('2019-07-17') DAY)+0; -- 获取2019年7月17日这一周周一的数据
SELECT * FROM 表名 WHERE created = DATE_SUB('2019-07-17',INTERVAL WEEKDAY('2019-07-17') DAY)+1; -- 获取2019年7月17日这一周周二的数据
参考链接:
https://blog.csdn.net/huangbaiping/article/details/64907052
https://blog.csdn.net/frees_time/article/details/81945558
https://www.cnblogs.com/weiwang/p/3245915.html