【Oracle】ワイルドカード LIKEであいまい検索するSQL

OracleのLIKEについて。

この記事の内容はコチラです

  • LIKEの使い方
  • ワイルドカードの使い方
  • あいまい検索のSQL

今回は、OracleのLIKEについて紹介します!

Oracleであいまい検索するLIKE(ワイルドカード)

Oracleであいまい検索するには「LIKE」を使用します。LIKEでワイルドカードを使うことができます。

ワイルドカード

  • %・・・複数文字用
  • _(アンダーバー)・・・1文字のみ

Oracleのワイルドカードでは「%」「_」を使います。「%」は複数文字用のワイルドカードで、「_」は1文字用のワイルドカードです。

例1. LIKEで苗字を検索するパターン

--佐藤からはじまる名前の人を検索する
SELECT * FROM emp
WHERE emp_name LIKE '佐藤%';

empテーブルのemp_nameが「佐藤」から始まる名前の人を検索しました。

例2. LIKEで1ケタ台の従業員を検索するパターン

--ナンバーが1桁のレコードを検索する
--empnoが00001~00009を検索する
SELECT * FROM emp
WHERE empno LIKE '0000_';

「empno LIKE ‘0000_’」では「0000」から始まる5桁文字を検索しています。_(アンダーバー)は任意の1文字を意味します。

つまり、従業員番号が00000~00009を検索しました。

例3. LIKEで佐藤以外のレコードを検索するパターン

--佐藤以外の名前の人を検索する
SELECT * FROM emp
WHERE empname NOT LIKE '佐藤%';

あいまい検索の否定形は「NOT LIKE」とします。ここでは佐藤以外の名前の人を検索しました。

LIKEとワイルドカード%,_をつかってあいまい検索をすることができました。

以上、Oracleであいまい検索するLIKE、ワイルドカードのSQLの使い方でした。

 

コメント