Latest web development tutorials

SQLのワイルドカード

ワイルドカードは、他の文字列の代わりに使用することができます。


SQLのワイルドカード

SQLでは、ワイルドカード文字を使用してSQLのLIKE演算子を併用します。

テーブル内のデータのためのSQLワイルドカード検索。

SQLでは、次のワイルドカードを使用できます。

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

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


デモ・データベース

このチュートリアルでは、w3bigサンプルデータベースを使用します。

以下は、選択した「ウェブサイト」のテーブルデータです。

+----+--------------+---------------------------+-------+---------+
| 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
WHERE 'HTTPS%'のようなURL。

実行出力:

すべてのサイトの次のSQL文に含まれるモード選択のURL「○○」:

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

実行出力:



SQL _ワイルドカードを使用します

任意の文字を開始するには、名前を選択するには、次のSQL文は、すべての顧客を「oogle」:

ウェブサイトSELECT * FROM
WHERE名LIKE '_oogle';

実行出力:

すべてのWebサイトのための、任意の文字、その後、「○」は、任意の文字、その後、「ル」「G」スタート、に次のSQL文を選択して名前:

ウェブサイトSELECT * FROM
WHERE名LIKE 'G_o_le';

実行出力:



SQL [CHARLIST]ワイルドカードを使用します

MySQLは正規表現を操作するREGEXPまたはNOT REGEXP演算子(またはRLIKEおよびNOT RLIKE)を使用します。

次のSQL文を選択して名前、すべてのサイトに "G"、 "F"または "s"が始まります。

ウェブサイトSELECT * FROM
WHERE名REGEXP '^ [のGF]';

実行出力:

H文字をウェブサイトで始まる次のSQL文を選択して名前:

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

実行出力:

名前を選択するには、次のSQL文は、Hのウェブサイトへの手紙で始まっていません。

ウェブサイトSELECT * FROM
WHERE名REGEXP '^ [^ AH]';

実行出力: