SELECT * FROM ProductsB WHERE model LIKE 'B-2_0'
ワイルドカードを利用して文字列フィールドを検索するSQL分を紹介します。
文字列フィールドでワイルドカードを利用して検索する場合には LIKE 演算子を利用します。
SELECT ... WHERE (列名) LIKE (検索式)
ワイルドカードには以下の文字を利用します。
ワイルドカード文字 | 意味 |
---|---|
% | 0文字以上の任意の文字列 |
_ | 任意の1文字 |
次のテーブルを用意します。
id | model | name | class | category | price |
---|---|---|---|---|---|
1 | C-XM01 | モーダンチェア | ホーム | チェア | 56000 |
2 | X-XD05 | ラージデスク | オフィス | テーブル | 87000 |
3 | A-DA40 | ラウンドダイニングチェア | ホーム | チェア | 28000 |
4 | O-XX100 | ナチュラルオフィス | オフィス | チェア | 13800 |
5 | R-D400 | ラウンドダイニングテーブル | ホーム | テーブル | 128000 |
6 | R7000 | ウッドキャビネット | オフィス | その他 | 32000 |
7 | B-200 | リネンベッド | ホーム | ベッド | 184500 |
8 | B-250 | ホワイトダブルベッド | ホーム | ベッド | 324850 |
9 | W-80 | ワーキングチェア | オフィス | チェア | 45000 |
10 | EG-10X | エルゴノミクスデスク | オフィス | テーブル | 88500 |
11 | NC-208 | ナチュラルウッドチェア | ホーム | チェア | 128000 |
以下のSQL文を実行します。
SELECT * FROM Products WHERE name LIKE '%ダイニング'
name LIKE '%ダイニング'
の条件式によりname列の値に"ダイニング"の文字列を含むレコードを検索結果として取得します。
結果は次の通りです。name列の文字列に"ダイニング"を含むレコードを検索結果として取得しています。
id | model | name | class | category | price |
---|---|---|---|---|---|
3 | A-DA40 | ラウンドダイニングチェア | ホーム | チェア | 28000 |
5 | R-D400 | ラウンドダイニングテーブル | ホーム | テーブル | 128000 |
以下のSQL文を実行します。
SELECT * FROM ProductsB WHERE model LIKE 'B-2_0%'
結果は次の通りです。model列の文字が"B-2?0"の形式のレコードを検索結果として取得します。
id | model | name | class | category | price |
---|---|---|---|---|---|
7 | B-200 | リネンベッド | ホーム | ベッド | 184500 |
8 | B-250 | ホワイトダブルベッド | ホーム | ベッド | 324850 |
SELECT * FROM ProductsB WHERE model LIKE 'B-2_0'