My Oracle Support Banner

Like 式を使用したクエリの実行時に ORA-1560 が発生する (Doc ID 2289858.1)

Last updated on FEBRUARY 27, 2019

適用範囲:

Oracle Database - Enterprise Edition - バージョン 12.1.0.1 以降
Oracle Database - Standard Edition - バージョン 12.1.0.1 以降
Oracle Database Cloud Schema Service - バージョン N/A 以降
Oracle Database Exadata Cloud Machine - バージョン N/A 以降
Oracle Cloud Infrastructure - Database Service - バージョン N/A 以降
この文書の内容はすべてのプラットフォームに適用されます。
本文書利用上のご注意
  本文書は英語の文書 <Document 2289850.1> (最終メジャー更新日: 2018年02月22日) の日本語翻訳版です。
  英語の文書の最終メジャー更新日が新しい場合は本文書に適宜反映いたします。

現象

Like 式を使用したクエリの実行時に ORA-1560 が発生する事象です。

この事象は 22 文字より多いマルチバイト文字を含んだバインド変数と文字列 '%' を連結して使用した場合に発生します。


SQL> var dname varchar2(64 char)
SQL> exec :dname :='<マルチバイト文字>....';
SQL> SELECT count(*) FROM scott.emp WHERE ename LIKE :dname || '%' ;
SELECT count(*) FROM scott.emp WHERE ename LIKE :dname || '%'
*
ERROR at line 1:
ORA-01560: LIKE pattern contains partial or illegal character

 (この例ではクエリの実行前にバインド変数にマルチバイト文字をセットしています)

変更点

 

原因

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


本書の内容
現象
変更点
原因
解決策
参照情報

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.