主にSQLのフィルタ機能Where句で使用する述語を紹介します。
LIKE述語
述語とは結果が真理値になる関数のことです。
LIKE述語の構文は以下のとおりです。
select 列名 from テーブル名 where 列名 LIKE パターン
LIKE述語は指定した列の値がLIKE述語のパターンと一致した時にTRUEを返します。
パターンは複数の条件を組み合わせることも可能。
| パターン | 内容 |
|---|---|
| % | (0文字以上の)複数の文字 |
| _ | 1つの文字 |
| [a-z] | 範囲内の文字を1文字 |
| ![a-z] | 範囲外の文字を1文字 |
| [0-9] | 数字を1文字 |
| ![0-9] | 数字以外を1文字 |
| [ab] | [ ]内のいづれかの1文字 |
LIKE述語使用例
LIKE述語は列の値と条件が完全一致ではない、一部分が一致するデータも抽出することが出来ます。
検索条件はパターン文字と検索条件全てを「'(シングルクォーテーション)」で括ります。
パターン文字は同時に複数の種類を使用することが可能です。
完全一致
パターン文字を指定しない場合は完全一致になります。
指定した列の値に検索文字が含まれているだけでは一致しません。
下記例では「京」の文字が含まれている都道府県はありますが、「京」一文字の都道府県は存在しないため、全てFALSEとなりデータの抽出がされていません。

パターン文字を指定しない場合。
都道府県が「京都府」のデータのみTRUEとなる。

部分一致
「~が含まれている」というパターンは「%~%」と記載する

「%」というパターンはその場所に「0文字以上の何らかの文字が存在している」というパターンになります。

[ab]は「」内のいずれかの文字が該当すればTRUEを返す。
