Oracle LIKEであいまい検索するサンプル

環境
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0
SQL*Plus: Release 12.2.0.1.0

構文
形式1

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
LIKE '文字列%'
LIKE '文字列%'
LIKE '文字列%'

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

形式2

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
文字_(アンダーバー)
文字_(アンダーバー)
文字_(アンダーバー)

「_」は1文字用のワイルドカードです。

操作方法
1.like文で名前を検索します
使用例
山野からはじまる名前の人を検索します

SQL構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT * FROM USER_TBL
WHERE NAME LIKE '山野%'
SELECT * FROM USER_TBL WHERE NAME LIKE '山野%'
SELECT * FROM USER_TBL
WHERE NAME LIKE '山野%'

2.like文で1桁の会員を検索します
使用例
USER_IDが328011~328019を検索する

SQL構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT * FROM USER_TBL
WHERE USER_ID LIKE '32801_'
SELECT * FROM USER_TBL WHERE USER_ID LIKE '32801_'
SELECT * FROM USER_TBL
WHERE USER_ID LIKE '32801_'

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

3.LIKE NOT文で指定名前以外のレコードを検索します
使用例
佐藤以外の名前の人を検索する

SQL構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SELECT * FROM USER_TBL
WHERE NAME NOT LIKE '山野%'
SELECT * FROM USER_TBL WHERE NAME NOT LIKE '山野%'
SELECT * FROM USER_TBL
WHERE NAME NOT LIKE '山野%'

 

Oracle

Posted by arkgame