MAX関数でORA-06502


PL/SQL内でchar型の項目に対し、MAX/MIN関数を使用すると取得した値の桁数が4000バイトになってしまうことがある。
で、INTOで指定した変数の桁数が少なければORA-06502が発生する。


oracleのバージョンが
10.1.0.4 、10.2.0.1のときこの現象が発生する。


以前のバージョンや11gでは発生しない模様。
問題のでるバージョンでもパッチが出ているのでそれを当てることによっても解決可能。



たしか、戻り値が4000バイトになるのはそういう仕様変更をしたからだったと思うのだが
不評なので元に戻したみたい。