代码一
replace(
GROUP_CONCAT(DISTINCT name),
',',
'&'
)
这里需要分开解析观察,首先你能拆分成几个点。
- replace
- GROUP_CONCAT
- &;
- replace
语法:replace(object,search,replace)
意思:把object中出现search的全部替换为replace
备注:replace相当于update,而不是delete然后insert
- 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') >= ti.start_time //>大于号 过滤时间的用处。
and DATE_FORMAT(NOW(), '%Y-%m-%d') < DATE_FORMAT(DATE_ADD(ti.end_time,INTERVAL 1 DAY),'%Y-%m-%d')
</if>
and ti.state !='D'
</where>
同理可得:拆分研究
- CONCAT
- DATE_FORMAT
- > ;
- < ;
- CONCAT 字符串拼接。
- DATE_FORMAT 日期格式转换。
- > ; 等于 >
- < ; 等于 <
用来进行时间过滤的作用。获取当前时间之前或者之后的时间过滤。