データベース内のデータを検索する場合は、SQL ワイルドカード文字を使用できます。
SQL ワイルドカード SQL ワイルドカードは、データベース内のデータを検索するときに 1 つ以上の文字を置き換えることができます。
SQL ワイルドカードは LIKE 演算子とともに使用する必要があります。
SQL では、次のワイルドカード文字を使用できます。
ワイルドカードの説明
% は 1 つ以上の文字を置き換えます
_ は 1 文字のみを置換します
[charlist] 文字リスト内の任意の 1 文字
[^文字リスト]
または
[!charlist]
文字列にない任意の 1 文字
元のテーブル (例で使用):
人物テーブル:
ID 姓 名 住所 市区町村
1 アダムズ ジョン オックスフォード ストリート ロンドン
2 ブッシュ ジョージ ニューヨーク 5 番街
北京 3 カーター トーマス長安街
% ワイルドカードの使用例 1
ここで、上の「人物」テーブルから、「Ne」で始まる都市に住んでいる人々を選択します。
次の SELECT ステートメントを使用できます。
人から * を選択
WHERE City LIKE 'Ne%' 結果セット:
ID 姓 名 住所 市区町村
2 ブッシュ ジョージ ニューヨーク 5 番街
例 2
次に、「lond」を含む都市に住んでいる人を「persons」テーブルから選択します。
次の SELECT ステートメントを使用できます。
人から * を選択
WHERE City LIKE '%lond%' 結果セット:
ID 姓 名 住所 市区町村
1 アダムズ ジョン オックスフォード ストリート ロンドン
_ ワイルドカードの使用例 1
ここで、上の「人物」テーブルから、名前の最初の文字の後に「ジョージ」が続く人物を選択します。
次の SELECT ステートメントを使用できます。
人から * を選択
WHERE FirstName LIKE '_eorge' 結果セット:
ID 姓 名 住所 市区町村
2 ブッシュ ジョージ ニューヨーク 5 番街
例 2
次に、姓が「C」、任意の文字、「r」、任意の文字、「er」で始まるレコードを「persons」テーブルから選択します。
次の SELECT ステートメントを使用できます。
人から * を選択
WHERE LastName LIKE 'C_r_er' 結果セット:
ID 姓 名 住所 市区町村
北京 3 カーター トーマス長安街
[charlist] ワイルドカードの使用例 1
ここで、上の「人物」テーブルから都市が「A」、「L」、または「N」で始まる人を選択します。
次の SELECT ステートメントを使用できます。
人から * を選択
WHERE City LIKE '[ALN]%' 結果セット:
ID 姓 名 住所 市区町村
1 アダムズ ジョン オックスフォード ストリート ロンドン
2 ブッシュ ジョージ ニューヨーク 5 番街
例 2
ここで、上の「人物」テーブルから、「A」、「L」、または「N」で始まらない都市に住んでいる人々を選択します。
次の SELECT ステートメントを使用できます。
人から * を選択
WHERE City LIKE '[!ALN]%' 結果セット:
ID 姓 名 住所 市区町村
3 カーター トーマス 長安街