Mysql date_format()函数处理时间格式

今天项目有个字段需要MM-dd的日期格式,数据库里是yyyy-MM-dd hh:mm:ss格式,查阅了一番度娘,用date_format()函数解决。

Mysql date_format()函数处理时间格式_第1张图片


SELECT
SUM(d.shopIntegra) total, DATE_FORMAT(d.integraDate,'%m-%d') dates
FROM
tb_gra_detail_info AS d
WHERE
date_sub(CURDATE(), INTERVAL 30 DAY) <= date(d.integraDate)
GROUP BY
d.integraDate

我这条语句是查询近30天里各门店销售总和,按日期分组

d.integraDate是我数据库里的时间字段,红线部分我一开始用了转换后的dates报错,用原字段名即可。


注意事项:

1、因为xml对"<"、">"等符号敏感,需要转义,所以需要对where后接的语句进行处理。如下
 

2、我这条语句近30天是从当前时间开始算起的,比如现在是8月1号,如果8月1号、7月31号、7月30号没有数据,那么查询出来就只有27条记录。


你可能感兴趣的:(mysql)