• 締切済み

DBのFLOATカラムに格納した値の取得

お世話になります。 MySQLのFLOATのカラムに9999999のような数値を格納すると、x.xxxxe+xxxのような値になってしまいます。 これを普通にselectで取得すると、x.xxxxe+xxxのままの数値なのですが、これを格納時点の999999のような数値に整形する方法はあるでしょうか? また、879.823928のような少数の値もよく判らないx.xxxxe+xxxのような値になっております。 この場合の整形方法もありませんでしょうか? ご教授ください。よろしくお願い致します。

みんなの回答

回答No.1

浮動小数点なのだから、広範囲の数値を扱える半面、格納時点で表せない数値は捨てられることになるので、元の値に復元できるとは限りません。 指数表示にしない方法としては、以下のような方法がありますが、値により小数部分は誤差が生じると思います。 (1)整数なら select cast(c1 as signed integer) from t1 (2)小数もあるなら select cast(c1 as decimal(15,5)) from t1