示例为mybatis .xml文件中的截取片段
oracle用法示例,card_keywords为表中字段,#{keywords}是java vo类中的属性
select * from table_test where
REGEXP_LIKE (card_keywords,#{keywords}, 'i')
REGEXP_LIKE 函数第三项为
match_ parameter, 匹配选项。取值范围: i: 大小写不敏感;C:大小写敏感; n:点号.不匹配换行符号; m:多行模式;x:扩展模式,忽略正则表达式中的空白字符。
替换方案
mysq| like
mysq|默认不区分大小写,所以如果是为'i'的情况下可以直接写like coun
select * from table_test where
card_keywords like concat('%',#{keyWord},'%')
但事实如果是为'C'大小写敏感的情况下 就需要在like的字段名字前加上一个binary
select * from table_test where binary
card_keywords like concat('%',#{keyWord},'%')
还有一种使用like但是区分大小写的方案是,在创建表的后面添加
character set latin1 collate latin1_bin
该写法的详细解释见下文
MySQL模糊查询(like)时区分大小写 - [0] - 博客园
但是可读性会变差,一般不推荐修改这些默认值