Mysql根据时间/月份进行分组,附SQL中日期字符串互转

这篇博客主要介绍了如何在MySQL中根据时间月份进行分组查询,并探讨了MyBatis中处理时间格式的问题,解释了为何会出现查询不全的情况及解决方案。此外,还详细阐述了MySQL中日期和字符串之间的转换,包括涉及的函数和示例,以便于理解和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

>Mysql根据时间的月份进行分组查询

在这里插入图片描述
在这里插入图片描述
sql:

SELECT DATE_FORMAT(create_time,'%Y%m') months FROM student GROUP BY months

mapper中:

List<String> hasmonths();

xml中:

<select id="hasmonths" resultType="java.lang.String">
     SELECT DATE_FORMAT(create_time,'%Y%m') months FROM biao  GROUP BY months
</select>

实际例子:

String format = "%Y-%m";
或者
String format = "%Y-%m-%d";

mapper

List<StatisticsObjectAndDoubleDTO> findInStock(String storageCode, String storehouseCode, Date parseDate, @Param("format") String format, List<String> storageCodeList);

xml

<select id="findInStock" resultType="com.boot.reservation.entity.dto.StatisticsObjectAndDoubleDTO">
        select min(ifnull(DATE_FORMAT(unload_end_time,#{format}),"1987-01-01")) as name,ifnull(sum(settlement_num),0) as num
        from storage_in_stock
        where status = 02
        <if test="storageCode != null and storageCode != ''">
            and granary_address = #{storageCode}
        </if>
        <if test="storehouseCode != null and storehouseCode != ''">
            and house = #{storehouseCode}
        </if>
        <if test="parseDate != nu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值