(1)根据日期统计
DATE_FORMAT(create_date,‘%Y-%m-%d’)
DATE_FORMAT 是一个MySQL函数,可以将日期和时间格式化为特定的字符串格式。
它的语法如下:
DATE_FORMAT(date, format)
其中,date是一个日期或时间的值,format是需要将date转换为的字符串格式。
sql例子:
SELECT
DATE_FORMAT(create_date,'%Y-%m-%d') as `date`,
count(1) as count
FROM candidate_info
WHERE del_flag = '0'
AND DATE_FORMAT(create_date,'%Y-%m-%d') BETWEEN DATE_FORMAT(#{startDate},'%Y-%m-%d') and DATE_FORMAT(#{endDate},'%Y-%m-%d')
AND company_id = #{companyId}
GROUP BY date
DATE_FORMAT 说明符
说明符 | 描述 |
---|---|
%a | 缩写的工作日名称 ( Sun… Sat) |
%b | 缩写月份名称 ( Jan… Dec) |
%c | 月份,数字 ( 0… 12) |
%D | 带有英文后缀 ( 0th, 1st, 2nd, 3rd, …) |
%d | 一个月中的第几天,数字 ( 00… 31) |
%e | 一个月中的第几天,数字 ( 0… 31) |
%f | 微秒 ( 000000… 999999) |
%H | 小时 ( 00… 23) |
%h | 小时 ( 01… 12) |
%I | 小时 ( 01… 12) |
%i | 分钟,数字 ( 00… 59) |
%j | 一年中的第几天 ( 001… 366) |
%k | 小时 ( 0… 23) |
%l | 小时 ( 1… 12) |
%M | 月份名称 ( January… December) |
%m | 月份,数字 ( 00… 12) |
%p | AM或者PM |
%r | 时间,12 小时(hh:mm:ss后跟 AM或PM) |
%S | 秒 ( 00… 59) |
%s | 秒 ( 00… 59) |
%T | 时间,24 小时 ( hh:mm:ss) |
%U | 周 ( 00… 53),其中星期日是一周的第一天; WEEK()模式 0 |
%u | 周 ( 00… 53),其中星期一是一周的第一天; WEEK()方式一 |
%V | 周 ( 01… 53),其中星期日是一周的第一天; WEEK()方式二;与 %X |
%v | 周 ( 01… 53),其中星期一是一周的第一天; WEEK()模式 3;与 %x |
%W | 工作日名称 ( Sunday… Saturday) |
%w | 星期几(0=Sunday… 6=Saturday) |
%X | Year for week where Sunday is the first day of the week, numeric, 四位数字;与%V |
%x | Year for week,其中Monday为一周的第一天,numeric,四位;与%v |
%Y | 年份,数字,四位数字 |
%y | 年份,数字(两位数) |
%% | 文字%字符 |
%x | x, 对于上面未列出的任何 “ x” |
(2)日期只对月,日做校验查询(生日)
select DATE_FORMAT(birthday, '%m-%d')
from sys_user
WHERE DATE_FORMAT('2021-08-31', '%m-%d') < DATE_FORMAT(birthday, '%m-%d')
order by DATE_FORMAT(birthday, '%m-%d') asc
LIMIT 6;