方法:1、利用“LOWER(字段值)”將字段轉為小寫,或者利用“UPPER(字段值)”將字段轉為大寫;2、利用“REGEXP_LIKE(字符串,正則表達式,’i’)”,當參數設置為“i”時,說明進行匹配不區分大小寫。
本教程操作環境:Windows10系統、oracle 11g版、Dell G3電腦。
oracle查詢怎么不區分大小寫
1、方式一
轉為小寫? LOWER(‘ABC’) 結果 abc
轉為大寫? UPPER(‘aBc’) 結果 ABC
select?*?from?table?lower(FAMILY_NAME)?like?lower(#{familyName})?--將字段全轉成小寫 select?*?from?table?upper(FAMILY_NAME)?like?upper(#{familyName})?--將字段全轉成大寫
2、方式二
REGEXP_LIKE(x,?pattern?[,?match_option])
當源字符串x匹配正則表達式pattern時,返回true。
可以使用match_option修改默認匹配選項,該參數可以被設置為:? ?
-
– ‘c’, 說明在進行匹配時區分大小寫(默認選項)? ?
-
– ‘i’, 說明在進行匹配時不區分大小寫? ?
-
– ‘n’, 允許使用可以匹配任意字符的操作符(通常是’.’)? ?
-
– ‘m’, 將x作為一個包含多行的字符串??
SELECT?*?FROM?test_reg?WHERE?REGEXP_LIKE(name,?'(a)1',?'i');
上面的sql語句匹配test_reg表中name列含有兩個連續字符’a’(不區分大小寫)的行,如name=’SaAs’。
此外,這里我們還使用了正則表達式中的后引用語法——n表示重復n次上次匹配的內容,
此處(a)1表示匹配兩個連續的字符’a’。
Oracle 默認是區分大小寫,如果不要區分,就要額外的設置。
這個是在當前會話上,也就是說在每次發起查詢的時候都需要執行這個才能起作用的。
推薦教程:《Oracle視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦