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