-
「%」ワイルドカード: 「%」は0文字以上の任意の文字列を表します。例えば、"SELECT * FROM users WHERE name LIKE 'J%'"というクエリは、名前が「J」で始まるすべてのユーザーのレコードを返します。
-
「」ワイルドカード: 「」は1文字の任意の文字を表します。例えば、"SELECT * FROM users WHERE name LIKE 'Sm_th'"というクエリは、"Smith"や"Smithy"などの名前を持つユーザーのレコードを返します。
-
「[ ]」ワイルドカード: 「[ ]」内に指定された文字のいずれか1文字に一致します。例えば、"SELECT * FROM users WHERE name LIKE '[JM]ohn'"というクエリは、「John」または「Mohn」という名前を持つユーザーのレコードを返します。
-
「[^ ]」ワイルドカード: 「[^ ]」内に指定された文字以外の任意の1文字に一致します。例えば、"SELECT * FROM users WHERE name LIKE 'J[^o]hn'"というクエリは、「Jahn」という名前を持つユーザーのレコードを返しますが、「John」や「Jhon」では一致しません。
これらのワイルドカード文字を組み合わせることもできます。また、ワイルドカードは主に「LIKE」演算子と一緒に使用されますが、データベースシステムによっては他の演算子とも組み合わせて使用できる場合があります。
以下にいくつかのコード例を示します。
-
「%」ワイルドカードの使用例:
SELECT * FROM users WHERE name LIKE 'J%'
このクエリは、「J」で始まる名前を持つすべてのユーザーのレコードを返します。
-
「_」ワイルドカードの使用例:
SELECT * FROM users WHERE name LIKE 'Sm_th'
このクエリは、「Smith」や「Smithy」などの名前を持つユーザーのレコードを返します。
-
「[ ]」ワイルドカードの使用例:
SELECT * FROM users WHERE name LIKE '[JM]ohn'
このクエリは、「John」または「Mohn」という名前を持つユーザーのレコードを返します。
-
「[^ ]」ワイルドカードの使用例:
SELECT * FROM users WHERE name LIKE 'J[^o]hn'
このクエリは、「Jahn」という名前を持つユーザーのレコードを返しますが、「John」や「Jhon」では一致しません。
これらの例は一部ですが、SQLワイルドカードの使用方法を示しています。データベースのクエリにおいて、ワイルドカードを適切に活用することで、柔軟なデータの抽出やフィルタリングが可能になります。