我们都知道oracle数据库是区分大小写的,但是有些需求为了提高用户使用体验,不希望让它区分大小写,那么我们就要在sql上用到“REGEXP_LIKE(字符串,正则表达式,'i')”,当参数设置为“i”时,说明进行匹配不区分大小写。
SELECT * FROM test_reg WHERE REGEXP_LIKE(report_id, reportId, 'i');
report_id代表字段名,reportId代表传入的数据
当源字符串x匹配正则表达式pattern时,返回true。
可以使用match_option修改默认匹配选项,该参数可以被设置为:
-
- 'c', 说明在进行匹配时区分大小写(默认选项)
-
- 'i', 说明在进行匹配时不区分大小写
-
- 'n', 允许使用可以匹配任意字符的操作符(通常是'.')
-
- 'm', 将x作为一个包含多行的字符串
这个是在当前会话上,也就是说在每次发起查询的时候都需要执行这个才能起作用的,REGEXP_LIKE和模糊查询LIKE有一样的使用效果!