システム関数 FLOOR(切り捨て)
SQL Server のシステム関数 FLOOR 関数についての要点だけまとめてます。
FLOOR 関数は、数値(数式)を受取り、数値以下で最大の整数を返します。
123.1 なら123 のように小数点以下の端数を切り捨てるのに使えます。
具体的には、消費税で1円未満は切り捨てるような計算に向いていると思います。
構文
SELECT FLOOR(数値(数式))
内容
実際に試してみます。
正の少数の場合
単純に小数点以下が無くなります。
--小数点以下を切り捨てる SELECT FLOOR(123.4)-- 123 SELECT FLOOR(123.5)-- 123 SELECT FLOOR(123.6)-- 123 SELECT FLOOR(123.01)-- 123 SELECT FLOOR(123.001)-- 123 SELECT FLOOR(123.0001)-- 123
負の少数の場合
負の少数の場合、指定した数値より大きくならない整数を戻すため、単純に小数点以下を切り捨てるわけではない点に注意してください。
--小数点以下を切り捨てる SELECT FLOOR(-123.4)-- 124 SELECT FLOOR(-123.5)-- 124 SELECT FLOOR(-123.6)-- 124 SELECT FLOOR(-123.01)-- 124 SELECT FLOOR(-123.001)-- 124 SELECT FLOOR(-123.0001)-- 124
おまけ
単純に、小数点以下を除去したい場合は、ROUND 関数が使えます。
正の小数点の場合なら結果に違いはないのですが、
負の整数の場合、結果が異なります。
--小数点以下を切り捨てる SELECT FLOOR( 123.4)-- 123 --小数点以下を除去する SELECT ROUND( 123.4,0,1)-- 123.0 --小数点以下を切り捨てる(マイナス) SELECT FLOOR( -123.4)-- -124 --小数点以下を除去する(マイナス) SELECT ROUND( -123.4,0,1)-- -123.0
コメント