SQL文でLIKEを使用する方法
SQL文におけるLIKEは、文字列をあいまい検索するオペレータです。通常、ワイルドカードと組み合わせて使用され、特定の条件を満たすデータを検索します。
たとえば、以下はLIKEを用いて曖昧検索をしている例です。
- 指定の文字列で始まるデータをマッチする:
SELECT * FROM 表名 WHERE 列名 LIKE 'abc%';
“abc”で始まる列の値を持つすべての行を返します。
- 指定の文字列で終わるデータをマッチする:
SELECT * FROM 表名 WHERE 列名 LIKE '%xyz';
これは「xyz」で終わる列値を持つすべての行を返します。
- 指定された文字列を含むデータを抽出する。
SELECT * FROM 表名 WHERE 列名 LIKE '%def%';
「def」を含むカラム値を持つ行をすべて返します。
- 指定された長さの文字列を一致させる:
SELECT * FROM 表名 WHERE 列名 LIKE '___';
この行は長さ3の文字列を返します。
LIKE 演算子では、さらに以下の 2 つのワイルドカードを使用できます。
- パーセント(%):ゼロ個、1個、またはそれ以上の文字を表す。
- アンダーライン(_):1文字を示す.
注意: LIKE 演算子は大文字と小文字を区別します。大文字と小文字を無視したマッチングを行いたい場合、列名と検索文字列を変換するために LOWER 関数または UPPER 関数を使用できます。
例えば、
SELECT * FROM 表名 WHERE LOWER(列名) LIKE LOWER('abc%');
このクエリは、「abc」で始まり、大文字小文字を区別しない列の値を持つすべての行を返します。