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%';
WHERE url LIKE 'https%';
執行輸出結果:
下面的SQL 語句選取url 包含模式"oo" 的所有網站:
實例
SELECT * FROM Websites
WHERE url LIKE '%oo%';
WHERE url LIKE '%oo%';
執行輸出結果:
使用SQL _ 通配符
下面的SQL 語句選取name 以一個任意字符開始,然後是"oogle" 的所有客戶:
實例
SELECT * FROM Websites
WHERE name LIKE '_oogle';
WHERE name LIKE '_oogle';
執行輸出結果:
下面的SQL 語句選取name 以"G" 開始,然後是一個任意字符,然後是"o",然後是一個任意字符,然後是"le" 的所有網站:
實例
SELECT * FROM Websites
WHERE name LIKE 'G_o_le';
WHERE name LIKE 'G_o_le';
執行輸出結果:
使用SQL [charlist] 通配符
MySQL中使用REGEXP或NOT REGEXP運算符(或RLIKE和NOT RLIKE)來操作正則表達式。
下面的SQL 語句選取name 以"G"、"F" 或"s" 開始的所有網站:
實例
SELECT * FROM Websites
WHERE name REGEXP '^[GFs]';
WHERE name REGEXP '^[GFs]';
執行輸出結果:
下面的SQL 語句選取name 以A 到H 字母開頭的網站:
實例
SELECT * FROM Websites
WHERE name REGEXP '^[A-H]';
WHERE name REGEXP '^[A-H]';
執行輸出結果:
下面的SQL 語句選取name 不以A 到H 字母開頭的網站:
實例
SELECT * FROM Websites
WHERE name REGEXP '^[^AH]';
WHERE name REGEXP '^[^AH]';
執行輸出結果: