可以直接使用 contains判断
<foreach collection="list" item="item" index="index" separator="AND" open="(" close=")"> <choose> <when test='item.cname.contains("select") or item.cname.contains("checkbox") or item.cname.contains("date")'> <if test='item.cname.contains("select") or item.cname.contains("checkbox")'> find_in_set(#{item.value},base.${item.cname}) </if> <if test='item.cname.contains("date")'> DATE_FORMAT(base.${item.cname},'%Y-%m-%d') = DATE_FORMAT(#{item.value},'%Y-%m-%d') </if> </when> <otherwise> base.${item.cname} = #{item.value} </otherwise> </choose> </foreach>