mysql中DATE_FORMAT() 函数详解
一. 说明
在 MySQL 中,DATE_FORMAT() 函数用于将日期/时间类型的值按照指定的格式进行格式化输出。它的一般语法如下:
DATE_FORMAT(date, format)
其中,date 参数是要被格式化的日期/时间值,format 参数是指定的日期/时间格式,可以是一个字符串常量或者包含日期格式控制符的字符串。
下面是一些常用的日期和时间格式控制符:
格式控制符 | 描述 |
---|---|
%Y | 年份,四位数字 |
%y | 年份,两位数字 |
%m | 月份,两位数字 |
%c | 月份,没有前导零 |
%d | 月份中的第几天,两位数字 |
%e | 月份中的第几天,没有前导零 |
%H | 小时,24小时制,两位数字 |
%h | 小时,12小时制,两位数字 |
%i | 分钟,两位数字 |
%s | 秒钟,两位数字 |
%p | AM 或 PM |
二. 举例
- demo玩具:
下面的语句会将 CREATE_DATETIME 列的日期格式化为年份和月份:
SELECT DATE_FORMAT(CREATE_DATETIME,'%Y-%m') as month_col FROM t_enjoyment_card_order;
此语句会返回一个包含年份和月份的字符串,例如 ‘2022-12’。
- 真实实例
select order_status,DATE_FORMAT(CREATE_DATETIME,'%Y-%m') as month_col,count(1)
from t_enjoyment_card_order
where order_status in('PAYMENTING','REFUND_ING','ABNORMAL','open_ing')
group by order_status,month_col
order by month_col desc
执行结果:
该SQL语句将根据指定的订单状态和年月份分组,统计每个组中的订单数量,并按照月份降序进行排列。
这个查询可以用于分析指定订单状态在不同月份的变化趋势或统计特定订单状态的总数。