前提・実現したいこと
NamedParameterJdbcTemplateを使用して、全角半角を区別しないSELECT文を作成しています。
UTL_I18N.TRANSLITERATEで全角カタカナに変換して検索しようと考えたのですが、
以下のようなエラーになってしまい、どのように修正したらよいか分からず困ております。
アドバス頂けますようお願いします。
発生している問題・エラーメッセージ
ORA-00904: "UTL_I18N"."TRANSLITERATE":無効な識別子です。 3行目1列でエラー
該当のソースコード
Java
1@Autowired 2NamedParameterJdbcTemplate jdbcTemplate; 3 4MapSqlParameterSource param = new MapSqlParameterSource(); 5param.addValue("name", "test"); 6 7String sql = "SELECT name FROM testVIEW WHERE 8UTL_I18N.TRANSLITERATE(UPPER(TO_MULTI_BYTE(name)),'kana_fwkatakana') like '%' || 9UTL_I18N.TRANSLITERATE(UPPER(TO_MULTI_BYTE(:name)),'kana_fwkatakana') || '%'"; 10 11jdbcTemplate.queryForList(sql, param); 12
試したこと
Javaの実行で変換されたSQLをSQL Developerで実行した場合でも3行目の検索文字列側の変換の先頭(1列目)でエラーとなります。
文法は何度も確認したのですが、なぜエラーになっているか解決できないでおります。
補足情報(FW/ツールのバージョンなど)
Oracle 12c
JDK1.8
SpringFramework5.0
回答1件
あなたの回答
tips
プレビュー