SQL FLOOR関数の注意点
SQL FLOOR関数の注意点
※個人的な備忘録です
FLOOR関数は「小数点以下切捨て」ですが、
『負の値で小数点がある場合、FLOOR関数を使用すると小数点以下切り上げとなる』
ので注意する事
(例)
FLOOR(1.1) = 1
FLOOR(-1.1) = -2
なので、SQLで小数点以下で切捨てをしたい場合は
SQL Server:「ROUND」
Oracle:「TRUNC」
の関数を使用するようにする。
(例:小数点第1位で切捨て処理)
SQL Server:ROUND(1.1,0,1) = 1
Oracle:TRUNC(1.1,0) = 1
最初はSQLのバグか?と思ったのですが、
数学関数上では「床関数(ゆかかんすう)」となり、数学上はそれで正しいそうです。
私は数学上知識不足で「そうなんだ」としか理解出来ませんでした。
詳しく知りたい方は「床関数」で調べてみて下さい。(^^;
車の査定なら!!かんたん車査定ガイド
出張・お仕事でのホテルご利用に『直前10日間最安値カレンダー』
スポンサーリンク
※個人的な備忘録です
FLOOR関数は「小数点以下切捨て」ですが、
『負の値で小数点がある場合、FLOOR関数を使用すると小数点以下切り上げとなる』
ので注意する事
(例)
FLOOR(1.1) = 1
FLOOR(-1.1) = -2
なので、SQLで小数点以下で切捨てをしたい場合は
SQL Server:「ROUND」
Oracle:「TRUNC」
の関数を使用するようにする。
(例:小数点第1位で切捨て処理)
SQL Server:ROUND(1.1,0,1) = 1
Oracle:TRUNC(1.1,0) = 1
最初はSQLのバグか?と思ったのですが、
数学関数上では「床関数(ゆかかんすう)」となり、数学上はそれで正しいそうです。
私は数学上知識不足で「そうなんだ」としか理解出来ませんでした。
詳しく知りたい方は「床関数」で調べてみて下さい。(^^;
車の査定なら!!かんたん車査定ガイド

出張・お仕事でのホテルご利用に『直前10日間最安値カレンダー』

スポンサーリンク