【SQL Server】FLOOR(切り捨て)

SQL Server
この記事は約2分で読めます。

システム関数 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

コメント

タイトルとURLをコピーしました