Oracle NVARCHAR2を文字列連結するときの注意

検索したい該当カラムがNVARCHAR2でも連結すると暗黙変換でVARCHAR2となるらしく、4000byte以上はエラーとあるため、以下のようにTO_CLOB('')を連結しとく必要がある。

SQL> select col1 from foo_table where (TO_CLOB('') || col1 || col2) like '%検索%';

確認したOracleのバージョンは11.2