////////////////////////////////////////////////////////////////////// OracleLiteのTO_CHAR(Oracle8i Lite R4.0) 先日、仕事でOracleLiteでTO_CHARを使うとおかしな数値を返してくる バグを発見したのでこの場で報告しておきます。 (Oracleの方もバグを認めて、R4.0用のパッチを作成するそうです R3.0も同様のバグがありますが、対応しないらしい) おかしくなるのは以下のSELECT文 SELECT TO_CHAR(field1,'990.00') FROM table1; field1の内容が9.995〜9.999の場合、19.00という結果を返してくる。 この現象を回避するには。 SELECT TO_CHAR(ROUND(field1,2),'990.99') FROM table1; とすれば正しい結果(10)が返ってくる。 小数点以下の桁を丸めるときは、面倒がらずにROUND関数を使いましょう。 //////////////////////////////////////////////////////////////////////