適用於:
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使用
DECIMAL(p, 0)傳p = max(3, -targetScale + 1)回 。SMALLINT使用
DECIMAL(p, 0)傳p = max(5, -targetScale + 1)回 。INTEGER使用
DECIMAL(p, 0)傳p = max(10, -targetScale + 1))回 。BIGINT使用
DECIMAL(p, 0)傳p = max(20, -targetScale + 1))回 。FLOAT使用
DECIMAL(p, s)和傳p = max(14, -targetScale + 1))回s = min(7, max(0, targetScale))DOUBLE使用
DECIMAL(p, s)和傳p = max(30, -targetScale + 1))回s = min(15, max(0, targetScale))DECIMAL(p_in, s_in)使用
DECIMAL(p, s)和傳p = max(p_in - s_in + 1, -targetScale + 1))回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