mysql中常用的时间格式化方法统计。
如果要查询订单时间在5月1号到5月12号之间的数据
1 2
| Select * From order Where DATE_FORMAT(createTime,'%m-%d') >= '05-01' and DATE_FORMAT(createTime,'%m-%d') <= '05-12';
|
**DATE_FORMAT(date,format)**函数用于以不同的格式显示日期/时间数据。 date是日期列,format是格式
STR_TO_DATE(str,format) 将字符串转成日期
1 2
| SELECT STR_TO_DATE('2018-06-01','%Y-%m-%d') >> 2018-06-01
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| %W 星期名字(Sunday……Saturday) %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。) %Y 年, 数字, 4 位 %y 年, 数字, 2 位 %a 缩写的星期名字(Sun……Sat) %d 月份中的天数, 数字(00……31) %e 月份中的天数, 数字(0……31) %m 月, 数字(01……12) %c 月, 数字(1……12) %b 缩写的月份名字(Jan……Dec) %j 一年中的天数(001……366) %H 小时(00……23) %k 小时(0……23) %h 小时(01……12) %I 小时(01……12) %l 小时(1……12) %i 分钟, 数字(00……59) %r 时间,12 小时(hh:mm:ss [AP]M) %T 时间,24 小时(hh:mm:ss) %S 秒(00……59) %s 秒(00……59) %p AM或PM %w 一个星期中的天数(0=Sunday ……6=Saturday ) %U 星期(0……52), 这里星期天是星期的第一天 %u 星期(0……52), 这里星期一是星期的第一天 %% 一个文字“%”。
|
获取当前的时间
1 2 3 4 5 6 7 8 9
| NOW(), 当前时间戳 CURDATE(), 当前日期 CURTIME(3), 当前时间,可选参数,为时间精度 CURRENT_DATE(), 当前日期 CURRENT_TIME(3), 当前时间,可选参数,为时间精度 CURRENT_TIMESTAMP(2), 当前时间戳 CURRENT_DATE, 当前日期 CURRENT_TIME, 当前时间 CURRENT_TIMESTAMP 当前时间戳
|
获取某个部分的时间信息
DATE(date) 只获取日期信息如:2018-06-01
EXTRACT(unit FROM date)函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
Unit 值:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_MICROSECOND MINUTE_SECOND HOUR_MICROSECOND HOUR_SECOND HOUR_MINUTE DAY_MICROSECOND DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH
|
比如想知道6月1号是哪个季度
1 2
| SELECT EXTRACT(QUARTER FROM STR_TO_DATE('2018-06-01','%Y-%m-%d') ) >>>2
|