メインコンテンツまでスキップ
に最終更新

FLOOR

説明​

浮動小数点数および固定小数点数を指定した桁数で切り下げ、切り下げ後の浮動小数点数または固定小数点数を返します。

構文​

FLOOR(<a>[, <d>])

パラメータ​

パラメータ説明
<a>切り下げる値を指定する浮動小数点数(Double)または固定小数点数(Decimal)
<d>省略可能な整数。切り下げる対象の桁数を指定します。正の数は次の小数位まで、負の数も次の小数位まで切り下げることを意味し、0 は整数に切り下げることを意味します。省略した場合は <d> = 0 と同じです。

戻り値​

以下の規則に従い、<a> 以下となる最大の切り下げ後の値を返します。

1/(10^d) の位に切り下げます。つまり、結果が 1/(10^d) で割り切れるようにします。1/(10^d) を正確に表現できない場合、切り下げる桁には、対応するデータ型で最も近い数値を使用します。

<a> が Decimal 型の場合、型を Decimal(p, s) とすると、戻り値の型は次のとおりです。

  • Decimal(p, 0):<d> <= 0 の場合
  • Decimal(p, <d>):0 < <d> <= s の場合
  • Decimal(p, s):<d> > s の場合

いずれかの入力パラメータが NULL の場合、NULL を返します。

別名​

  • DFLOOR

例​

select floor(123.456);
+----------------+
| floor(123.456) |
+----------------+
| 123 |
+----------------+
select floor(123.456, 2);
+-------------------+
| floor(123.456, 2) |
+-------------------+
| 123.45 |
+-------------------+
select floor(123.456, -2);
+--------------------+
| floor(123.456, -2) |
+--------------------+
| 100 |
+--------------------+
select floor(123.45, 1), floor(123.45), floor(123.45, 0), floor(123.45, -1);
+------------------+---------------+------------------+-------------------+
| floor(123.45, 1) | floor(123.45) | floor(123.45, 0) | floor(123.45, -1) |
+------------------+---------------+------------------+-------------------+
| 123.4 | 123 | 123 | 120 |
+------------------+---------------+------------------+-------------------+
select floor(x, 2) from ( select cast(123.456 as decimal(6,3)) as x from numbers("number"="5") )t;
+-------------+
| floor(x, 2) |
+-------------+
| 123.45 |
| 123.45 |
| 123.45 |
| 123.45 |
| 123.45 |
+-------------+
select floor(NULL, 2);
+----------------+
| floor(NULL, 2) |
+----------------+
| NULL |
+----------------+