floor
函式
適用於: Databricks SQL Databricks Runtime 10.4 LTS 和更新版本
傳回小於 expr
四捨五入為 targetScale
小數點的數位。
語法
floor(expr [, targetScale])
引數
expr
:評估為數值的表達式。targetScale
:選擇性 INTEGER 常值大於-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))
和傳DECIMAL(p, s)
回s = min(7, max(0, targetScale))
DOUBLE
使用
p = max(30, -targetScale + 1))
和傳DECIMAL(p, s)
回s = min(15, max(0, targetScale))
DECIMAL(p_in, s_in)
使用
p = max(p_in - s_in + 1, -targetScale + 1))
和傳DECIMAL(p, s)
回s = min(s_in, max(0, targetScale))
如果 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