MySQL中的通配符


在 SQL 中,可使用以下通配符:

通配符 描述
% 替代一個或多個字符
_ 僅替代一個字符
[charlist] 字符列中的任何單一字符

[^charlist]

或者

[!charlist]

不在字符列中的任何單一字符

原始的表 (用在例子中的):

Persons 表:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Bei_jing

 

 

1.使用 % 通配符

例子 (1)

現在,我們希望從上面的 "Persons" 表中選取居住在以 "Ne" 開始的城市里的人:

我們可以使用下面的 SELECT 語句:

SELECT * FROM Person WHERE City LIKE  'Ne%'

例子 (2)

我們希望從 "Persons" 表中選取居住在包含 "lond" 的城市里的人:

我們可以使用下面的 SELECT 語句:

SELECT * FROM Persons WHERE  City LIKE  '%lond%'

 

2.使用 _ 通配符

例子 (1)

現在,我們希望從上面的 "Persons" 表中選取名字的第一個字符之后是 "eorge" 的人:

我們可以使用下面的 SELECT 語句:

SELECT * FROM Persons WHERE FisrstName LIKE  '_eorge'

 

例子 (2)

接下來,我們希望從 "Persons" 表中選取的這條記錄的姓氏以 "C" 開頭,然后是一個任意字符,然后是 "r",然后是任意字符,然后是 "er":

我們可以使用下面的 SELECT 語句:

SELECT * FROM Persons  WHERE LastName LIKE 'C_r_er'

 

例子 (3)

現在我們看到第三個人的地址北京中有字符_, 我們希望從 "Persons" 表中選取第4個字符是_的記錄,此時遇到問題就是_字符是通配符,我們的做法就是使用轉移字符。

第一種方法:SELECT * FROM Persons WHERE  City LIKE  '___\_%'
第二種方法:SELECT * FROM Persons WHERE  City LIKE  '___$_%  ESCAPE '$''

 

3.使用 [charlist] 通配符

例子 (1)

現在,我們希望從上面的 "Persons" 表中選取居住的城市以 "A" 或 "L" 或 "N" 開頭的人:

我們可以使用下面的 SELECT 語句:

SELECT * FROM Persons WHERE City LIKE '[ALN]%'

 

例子 (2)

現在,我們希望從上面的 "Persons" 表中選取居住的城市不以 "A" 或 "L" 或 "N" 開頭的人:

我們可以使用下面的 SELECT 語句:

SELECT * FROM Persons WHERE City LIKE '[!ALN]%'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM