floor
関数
適用対象: Databricks SQL Databricks Runtime 10.4 LTS 以上
小数点に対して targetScale
桁まで丸められた expr
よりは大きくない最大数を返します。
構文
floor(expr [, targetScale])
引数
expr
: 数値に評価される式。targetScale
: 切り下げる小数点以下の桁数を指定する-38
よりも大きい省略可能な整数リテラル。
戻り値
targetScale
が指定されていない場合:
expr
がDECIMAL(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