方案1:
select * from tablename where full_name like "%20221219%";
like语句,使用%作为前后的通配符,但是作为项目中代码使用就非常不便,因为所需要查询的关键词应是一个字符串,用#{selectTime}来代替,如果写成
select * from tablename where full_name like "%#{selectTime}%";
在查询时就会出错,因为#{selectTime}的本质是一个字符串,替换后就是like "%"20221219"%",会发现多了两个引号,所以错误,所以最好使用方案2;
方案2:
select * from tablename where locate(#{selectTime},full_name)>0;
locate表达式的是有返回值的,如果字段值包含指定字符串,就返回包含的个数,否则返回0,使用此方案,若locate表达式大于0即为包含指定的字符串,并且很容易兼容代码的写法,使用此方案最优;