mysql的like模式
模式匹配,使用SQL簡單正規(guī)表達(dá)式比較。返回1 (TRUE) 或 0 (FALSE)。 若 expr 或 pat 中任何一個(gè)為 NULL,則結(jié)果為 NULL。
模式不需要為文字字符串。例如,可以被指定為一個(gè)字符串表達(dá)式或表列。
在模式中可以同LIKE一起使用以下兩種通配符:
字符
說明
%
匹配任何數(shù)目的字符,甚至包括零字符
_
只能匹配一種字符
mysql> SELECT 'David!' LIKE 'David_';
-> 1
mysql> SELECT 'David!' LIKE '%D%v%';
-> 1
若要對通配符的文字實(shí)例進(jìn)行檢驗(yàn), 可將轉(zhuǎn)義字符放在該字符前面。如果沒有指定 ESCAPE字符, 則假設(shè)為‘’。
字符串
說明
%
匹配一個(gè) ‘%’字符
_
匹配一個(gè) ‘_’ 字符
mysql> SELECT 'David!' LIKE 'David_';
-> 0
mysql> SELECT 'David_' LIKE 'David_';
-> 1
要指定一個(gè)不同的轉(zhuǎn)義字符,可使用ESCAPE語句:
mysql> SELECT 'David_' LIKE 'David|_' ESCAPE '|';
-> 1
轉(zhuǎn)義序列可以為空,也可以是一個(gè)字符的長度。 從 MySQL 5.1.2開始, 如若 NO_BACKSLASH_ESCAPES SQL模式被激活, 則該序列不能為空。
以下兩個(gè)語句舉例說明了字符串比較不區(qū)分大小寫,除非其中一個(gè)操作數(shù)為二進(jìn)制字符串:
mysql> SELECT 'abc' LIKE 'ABC';
-> 1
mysql> SELECT 'abc' LIKE BINARY 'ABC';
-> 0
在MySQL中, LIKE 允許出現(xiàn)在數(shù)字表達(dá)式中。 (這是標(biāo)準(zhǔn)SQL LIKE 的延伸)。
mysql> SELECT 10 LIKE '1%';
-> 1
注釋: 由于 MySQL在字符串中使用 C轉(zhuǎn)義語法(例如, 用‘n’代表一個(gè)換行字符),在LIKE字符串中,必須將用到的‘’雙寫。例如, 若要查找 ‘n’, 必須將其寫成 ‘n’。而若要查找 ‘’, 則必須將其寫成 it as ‘’原因是反斜線符號會被語法分析程序剝離一次,在進(jìn)行模式匹配時(shí),又會被剝離一次,最后會剩下一個(gè)反斜線符號接受匹配。
文章來源:http://apps.hi.baidu.com/share/detail/6526024
相關(guān)文章:
1. MySQL 千萬級數(shù)據(jù)量如何快速分頁2. MySQL中InnoDB和MyISAM類型的差別3. Mysql入門系列:安排預(yù)防性的維護(hù)MYSQL數(shù)據(jù)庫服務(wù)器4. Mysql入門系列:MYSQL客戶機(jī)程序2—增加錯(cuò)誤檢查5. MySQL存儲過程例子(包含事務(wù)、參數(shù)、嵌套調(diào)用、游標(biāo)循環(huán)等)6. MySQL 字符串函數(shù):字符串截取7. MySQL基礎(chǔ)教程9 —— 函數(shù)之日期和時(shí)間函數(shù)8. MySql導(dǎo)出后再導(dǎo)入數(shù)據(jù)時(shí)出錯(cuò)問題9. 快速解決mysql導(dǎo)出scv文件亂碼、躥行的問題10. 手把手教你使用Navicat生成MySQL測試數(shù)據(jù)
