今日百科知识

首页

文章资讯

sql通配符的使用(SQL语法之通配符)

今日科普2024-11-04 19:51:248

在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

SQL 通配符必须与 LIKE 运算符一起使用。

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

通配符描述%替代一个或多个字符_仅替代一个字(zì)符[charlist]字符列中的任何单一字符[^charlist]

或者

[!charlist]

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

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

Persons 表:

IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York3CarterThomasChangan StreetBeijing

使用 % 通配符(fú)

例(lì)子(zi) 1

现(xiàn)在(zài),我(wǒ)们(men)希(xī)望(wàng)从上面的 "Persons" 表中选取居住(zhù)在(zài)以(yǐ) "Ne" 开(kāi)始(shǐ)的(de)城(chéng)市(shì)里(lǐ)的(de)人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM PersonsWHERE City LIKE 'Ne%'

结果集:

IdLastNameFirstNameAddressCity2BushGeorgeFifth AvenueNew York

例子 2

接下来,我们希望从 "Persons" 表中选取(qǔ)居(jū)住在包含 "lond" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM PersonsWHERE City LIKE '%lond%'

结果集:

IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon

使用 _ 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM PersonsWHERE FirstName LIKE '_eorge'

结果集:

IdLastNameFirstNameAddressCity2BushGeorgeFifth AvenueNew York

例子 2

接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":

我们可以使用(yòng)下面的 SELECT 语句:

SELECT * FROM PersonsWHERE LastName LIKE 'C_r_er'

结果集:

IdLastNameFirstNameAddressCity3CarterThomasChangan StreetBeijing

使用 [charlist] 通配符

例子 1

现在,我们希望从上面的 "Persons" 表中选取居住的城(chéng)市(shì)以(yǐ) "A" 或(huò) "L" 或(huò) "N" 开(kāi)头(tóu)的(de)人(rén):

我们可以使用下面的 SELECT 语句:

SELECT * FROM PersonsWHERE City LIKE '[ALN]%'

结果集:

IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York

例子 2

现在(zài),我(wǒ)们(men)希(xī)望(wàng)从(cóng)上(shàng)面(miàn)的(de) "Persons" 表(biǎo)中(zhōng)选(xuǎn)取(qǔ)居(jū)住的城市不以 "A" 或 "L" 或 "N" 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM PersonsWHERE City LIKE '[!ALN]%'

结果集:

IdLastNameFirstNameAddressCity3CarterThomasChangan StreetBeijing