Latest web development tutorials

SQL 通配符

通配符可用於替代字符串中的任何其他字符。


SQL 通配符

在SQL 中,通配符與SQL LIKE 操作符一起使用。

SQL 通配符用於搜索表中的數據。

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

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

[! charlist ]
不在字符列中的任何单一字符


演示數據庫

在本教程中,我們將使用w3big 樣本數據庫。

下面是選自"Websites" 表的數據:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 本教程      | http://www.w3big.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+


使用SQL % 通配符

下面的SQL 語句選取url 以字母"https" 開始的所有網站:

實例

SELECT * FROM Websites
WHERE url LIKE 'https%';

執行輸出結果:

下面的SQL 語句選取url 包含模式"oo" 的所有網站:

實例

SELECT * FROM Websites
WHERE url LIKE '%oo%';

執行輸出結果:



使用SQL _ 通配符

下面的SQL 語句選取name 以一個任意字符開始,然後是"oogle" 的所有客戶:

實例

SELECT * FROM Websites
WHERE name LIKE '_oogle';

執行輸出結果:

下面的SQL 語句選取name 以"G" 開始,然後是一個任意字符,然後是"o",然後是一個任意字符,然後是"le" 的所有網站:

實例

SELECT * FROM Websites
WHERE name LIKE 'G_o_le';

執行輸出結果:



使用SQL [charlist] 通配符

MySQL中使用REGEXPNOT REGEXP運算符(或RLIKE和NOT RLIKE)來操作正則表達式。

下面的SQL 語句選取name 以"G"、"F" 或"s" 開始的所有網站:

實例

SELECT * FROM Websites
WHERE name REGEXP '^[GFs]';

執行輸出結果:

下面的SQL 語句選取name 以A 到H 字母開頭的網站:

實例

SELECT * FROM Websites
WHERE name REGEXP '^[A-H]';

執行輸出結果:

下面的SQL 語句選取name 不以A 到H 字母開頭的網站:

實例

SELECT * FROM Websites
WHERE name REGEXP '^[^AH]';

執行輸出結果: