mybaties将时间格式成字符串

本文介绍了在MyBatis中如何将时间格式化为字符串,以便于进行按年月查询等操作。通过代码示例展示了具体的转换过程。

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

有时候在做根据年月查询时要用到对时间切割字符串,代码如下:

select
  of.id,
  of.name,
    (select count(ctd.id) from car_train_driver ctd where ctd.done= '1' and ctd.car_train_id in
     (select id from car_train where parent_id in
      (select id from car_train where user_id in
       (select id from sys_user where office_id in
        (select id from  sys_office where parent_id in
         (select id from  sys_office where parent_id = of.id
         <if test="year !=null and year !=''">
            AND DATE_FORMAT(ctd.create_date,"%Y")= #{year}
         </if>
         <if test="month != null and month !=''">
            AND DATE_FORMAT(ctd.create_date,"%m")=#{month}
         </if>
         )
        )
       )
      )
     )
    ) num,
        format(if((select (sum(score)/(count(id)*5))*100*
          (select count(ctd.id) from car_train_driver ctd where ctd.done= '1' and ctd.car_train_id in
          (select id from car_train where parent_id in
           (select id from car_train where user_id in
            (select id from sys_user where office_id in
            (select id from  sys_office where parent_id in
             (select id from  sys_office where parent_id = of.id
           <if test="year !=null and year !=''">
              AND DATE_FORMAT(ctd.create_date,"%Y")= #{year}
           </if>
             <if test="month != null and month !=''">
              AND DATE_FORMAT(ctd.create_date,"%m")=#{month}
           </if>
             )
             )
            )
           )
          )
         )
         from car_configuration_train where car_train_driver_id in
         (select id from car_train_driver where done= '1' and car_train_id in
          (select id from car_train where parent_id in
           (select id from car_train where user_id in
            (select id from sys_user where office_id in
            (select id from  sys_office where parent_id in
             (select id from  sys_office where parent_id = of.id)
             )
            )
           )
          )
         )
        ) is null,0,(select (sum(score)/(count(id)*5))*100*
          (select count(ctd.id) from car_train_driver ctd where ctd.done= '1' and ctd.car_train_id in
          (select id from car_train where parent_id in
           (select id from car_train where user_id in
            (select id from sys_user where office_id in
            (select id from  sys_office where parent_id in
             (select id from  sys_office where parent_id = of.id
            <if test="year !=null and year !=''">
               AND DATE_FORMAT(ctd.create_date,"%Y")= #{year}
            </if>
            <if test="month != null and month !=''">
               AND DATE_FORMAT(ctd.create_date,"%m")=#{month}
            </if>
            )
             )
            )
           )
          )
         )
         from car_configuration_train where car_train_driver_id in
         (select id from car_train_driver where done= '1' and car_train_id in
          (select id from car_train where parent_id in
           (select id from car_train where user_id in
            (select id from sys_user where office_id in
            (select id from  sys_office where parent_id in
             (select id from  sys_office where parent_id = of.id)
             )
            )
           )
          )
         )
        )),0) score
  from

   <choose>
      <when test="user.id != null and user.id != ''">
         (select id,name from  sys_office where  parent_id = '1') of
      </when>
      <otherwise>
         (select id,name from  sys_office where parent_id =
         (select parent_id from  sys_office where id = #{user.office.id})
         ) of
      </otherwise>
   </choose>
  ORDER BY num desc;

以上红色字体是关键代码,返回的类型是hashmap.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值