oracle查詢怎么不區分大小寫

方法:1、利用“LOWER(字段值)”將字段轉為小寫,或者利用“UPPER(字段值)”將字段轉為大寫;2、利用“REGEXP_LIKE(字符串,正則表達式,’i’)”,當參數設置為“i”時,說明進行匹配不區分大小寫。

oracle查詢怎么不區分大小寫

本教程操作環境: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
喜歡就支持一下吧
點贊15 分享