次の方法で共有


floor 関数

適用対象: check marked yes Databricks SQL Databricks Runtime 10.4 LTS 以上

小数点に対して targetScale 桁まで丸められた expr よりは大きくない最大数を返します。

構文

floor(expr [, targetScale])

引数

  • expr: 数値に評価される式。
  • targetScale: 切り下げる小数点以下の桁数を指定する -38 よりも大きい省略可能な整数リテラル。

戻り値

targetScale が指定されていない場合:

  • exprDECIMAL(p, s) の場合、DECIMAL(p - s + 1, 0) を返します。
  • その他のすべての場合は、BIGINT を返します。

targetScale が指定され、expr が次の場合:

  • TINYINT

    p = max(3, -targetScale + 1)DECIMAL(p, 0) を返します。

  • SMALLINT

    p = max(5, -targetScale + 1)DECIMAL(p, 0) を返します。

  • INTEGER

    p = max(10, -targetScale + 1))DECIMAL(p, 0) を返します。

  • BIGINT

    p = max(20, -targetScale + 1))DECIMAL(p, 0) を返します。

  • FLOAT

    p = max(14, -targetScale + 1)) および s = min(7, max(0, targetScale))DECIMAL(p, s) を返します

  • DOUBLE

    p = max(30, -targetScale + 1)) および s = min(15, max(0, targetScale))DECIMAL(p, s) を返します

  • DECIMAL(p_in, s_in)

    p = max(p_in - s_in + 1, -targetScale + 1)) および s = min(s_in, max(0, targetScale))DECIMAL(p, s) を返します

targetScale が負の場合、小数点の左側の -targetScale 桁に丸められます。

targetScale の既定値は 0 で、次に小さい整数に切り下げられます。

> SELECT floor(-0.1);
 -1

> SELECT floor(5);
 5

> SELECT floor(3345.1, -2);
 3300

> SELECT floor(-12.345, 1);
 -12.4