Oracle11gで、大文字-小文字を区別しないlike検索をしたい
結論
select col_1
from tbl
where UPPER(col_1) = UPPER('%joken%')
;
または
select col_1
from tbl
where REGEXP_LIKE(col_1, 'joken', 'i')
;
のいずれか。
REGEXP_LIKE - Oracle SQL 関数リファレンス
注意
UPPER()
やLOWER()
またはREGEXP_LIKE()
を使うとfull scanになる。
そのため、index scanを実行できる曖昧検索は、大文字小文字を区別する前方一致の検索のみである。