简单解析两节Mybatis的SQL语句段

代码一

replace(
        GROUP_CONCAT(DISTINCT name),
        ',',
        '&'
        ) 

这里需要分开解析观察,首先你能拆分成几个点。

  • replace
  • GROUP_CONCAT
  • &
  1. replace
语法:replace(object,search,replace)
 
意思:把object中出现search的全部替换为replace

备注:replace相当于update,而不是delete然后insert
  1. GROUP_CONCAT
语法: GROUP_CONCAT(object)
 
意思:把object进行改造

备注:一般为 DISTINCT  object,意思是将object去重。

3.&

&是mybatis中的特殊字符,意思就是相当于 &

综上所述:综合得出含义为:
这段代码不会独立出现,而是镶嵌在代码中间,你应该找到对应数据库,然后将name去重,并且将name中的,全部转为&。

代码二

<where>
     <if test="Name != null and Name != ''">
         ti.name like CONCAT('%',#{Name},'%')  //参数拼接
     </if>
     <if test="state == 1">
         and DATE_FORMAT(NOW(), '%Y-%m-%d') &gt;= ti.start_time   //&gt;大于号    过滤时间的用处。
         and DATE_FORMAT(NOW(), '%Y-%m-%d') &lt; DATE_FORMAT(DATE_ADD(ti.end_time,INTERVAL 1 DAY),'%Y-%m-%d')
     </if>
     and ti.state !='D'
</where>

同理可得:拆分研究

  • CONCAT
  • DATE_FORMAT
  • &gt ;
  • &lt ;
  1. CONCAT 字符串拼接。
  2. DATE_FORMAT 日期格式转换。
  3. &gt ; 等于 >
  4. &lt ; 等于 <
    用来进行时间过滤的作用。获取当前时间之前或者之后的时间过滤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值