LIKE 演算子 - パターンマッチング -

SQL-92/99   Oracle DB2 SQL Server MySQL PostgreSQL Access

WHERE 文字列式 LIKE '検索条件' [ ESCAPE 'エスケープ文字' ]

 LIKE 演算子は、指定した文字列データのパターンマッチングを行うときに使用します。 このとき、検索条件にはメタ文字を組み合せてパターンマッチングを行います。

 「%(メタ文字)」を検索条件(文字列)の前に組み合せた場合には、任意の文字列で始まる条件で問い合せを行います。 また、「%(メタ文字)」を検索条件(文字列)の後に組み合せた場合には、任意の文字列で終わる条件で問い合せを行います。 さらに、この「%(メタ文字)」を検索条件(文字列)の前後に組み合せた場合には、任意の文字列で始まり、任意の文字列で終わる条件で問い合せを行います。

-- 【説明】
-- 次の SQL 文は、「T_13_2」表から「I1_NAME」列が「汎用」で始まるデータを取得します。

SELECT * FROM T_13_2
 WHERE I1_NAME LIKE '汎用%';


I1_CODEI1_NAMEI1_PRICE
101汎用部品 500

-- 【説明】
-- 次の SQL 文は、「T_13_2」表から「I1_NAME」列が「部品」で終わるデータを取得します。

SELECT * FROM T_13_2
 WHERE I1_NAME LIKE '%部品';


I1_CODEI1_NAMEI1_PRICE
101汎用部品 500
201車体部品2300
202車体部品2400
301特殊部品4500

-- 【説明】
-- 次の SQL 文は、「T_13_2」表から「I1_NAME」列に「用」が含まれるデータを取得します。

SELECT * FROM T_13_2
 WHERE I1_NAME LIKE '%用%';


I1_CODEI1_NAMEI1_PRICE
101汎用部品 500

 LIKE 演算子では、メタ文字の一つである「_(アンダースコア)」を指定することで、任意の文字数となる条件で問い合せを行います。

-- 【説明】
-- 次の SQL 文は、「T_13_2」表から「I1_CODE」列に「20」で始まる 3 文字のデータを取得します。

SELECT * FROM T_13_2
 WHERE I1_CODE LIKE '20_';


I1_CODEI1_NAMEI1_PRICE
201車体部品2300
202車体部品2400

参考表

T_13_2

I1_CODEI1_NAMEI1_PRICE
101汎用部品 500
201専用部品2300
202専用部品2400
301特殊部品4500