共用方式為


floor 函式

適用於:檢查標示為是 Databricks SQL 檢查標示為是 Databricks Runtime 10.4 LTS 和更新版本

傳回小於 expr 四捨五入為 targetScale 小數點的數位。

語法

floor(expr [, targetScale])

引數

  • expr:評估為數值的表達式。
  • targetScale:選擇性 INTEGER 常值大於 -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)) 和傳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