Oracle Like子句
LIKE運算符在Oracle可以用來測試列中的值是否與指定的模式匹配,本教程將教大家LIKE運算符的正確用法。
Oracle LIKE運算符語法:
有時候,想根據指定的模式來查詢數據。 例如,您可能希望查找姓氏以St開頭或姓氏以er結尾的聯系人。在這種情況下,可使用Oracle LIKE運算符。
Oracle LIKE運算符的語法如下所示:
expresion [NOT] LIKE pattern [ ESCAPE escape_characters ]
在上面的語法中,
- expression:該表達式是一個列名稱或一個表達式,要針對該模式(pattern)進行測試。
- pattern:該模式是在表達式中搜索的字符串。此模式包含以下通配符:%(百分號)匹配零個或多個字符的任何字符串。
_
(下劃線)匹配任何單個字符。 - escape_character:escape_character是出現在通配符前面的字符,用于指定通配符不應被解釋為通配符而是常規字符。
escape_character(如果指定)必須是一個字符,并且沒有默認值。
如果表達式匹配模式,LIKE運算符返回true。 否則,它返回false。
NOT運算符(如果指定)可以否定LIKE運算符的結果。
Oracle LIKE示例
下面舉一些使用Oracle LIKE運算符的例子來看看它是如何工作的,以contacts表為例進行演示:
1. %通配符的例子
以下示例使用%通配符查找姓氏以St開頭的聯系人的電話號碼:
SELECT first_name, last_name, phone FROM contacts WHERE last_name LIKE 'St%' ORDER BY last_name;
查詢結果如下:
在這個例子中,使用了這個模式:
'St%'
LIKE運算符匹配任何以“St”開頭的字符串,后跟任意數量的字符,例如Stokes,Stein或Steele等。
要查找姓氏以字符串“er”結尾的聯系人的電話號碼,請使用以下語句:
SELECT first_name, last_name, phone FROM contacts WHERE last_name LIKE '%er' ORDER BY last_name;
查詢結果如下:
匹配的模式
%er
匹配任何以“er”字符串結尾的字符串。
要執行不區分大小寫的匹配,可以使用LOWER()或UPPER()函數,如下所示:
UPPER( last_name ) LIKE 'ST%' LOWER(last_name LIKE 'st%'
例如,以下語句查找名字以CH開頭的聯系人的電子郵件:
SELECT first_name, last_name, email FROM contacts WHERE UPPER( first_name ) LIKE 'CH%' ORDER BY first_name;
執行上放代碼,得到以下結果:
以下示例使用NOT LIKE運算符來查找電話號碼不以“+1”開頭的聯系人:
SELECT first_name, last_name, phone FROM contacts WHERE phone NOT LIKE '+1%' ORDER BY first_name;
執行上面查詢語句,得到以下結果:
2、_ 通配符的例子
以下示例查找名字具有以下模式“Je_i”的聯系人的電話號碼和電子郵件:
SELECT first_name, last_name, email, phone FROM contacts WHERE first_name LIKE 'Je_i' ORDER BY first_name;
查詢結果如下:
模式'Je_i'匹配任何以'Je'開頭的字符串,然后是一個字符,最后是'i',例如Jeri或Jeni,但不是Jenni。
3. 混合通配符字符的例子
可以在模式中混合通配符。例如,以下語句查找名字以J開頭,后跟兩個字符,然后是任意數量字符的聯系人。換句話說,它將匹配以Je開頭并且至少有4個字符的任何姓氏(first_name):
SELECT first_name, last_name, email, phone FROM contacts WHERE first_name LIKE 'Je_%';
結果如下:
- Oracle簡介
- Oracle 11g安裝教程
- Oracle LOCK TABLE語句(鎖表)
- Linux Memcached 安裝
- Memcached append 命令
- Memcached gets 命令
- Memcached delete 命令
- Memcached stats 命令
- Memcached flush_all 命令
- PHP 連接 Memcached 服務
- DB2服務器安裝
- DB2模式
- DB2約束
- DB2視圖
- DB2與XML
- oracle中對JSON數據處理的詳細指南
- PLSQL一些常用知識點梳理總結
- Oracle中的table()函數使用
- oracle數據庫id自增及生成uuid問題
- 連接Oracle數據庫失敗(ORA-12514)故障排除全過程