A floor függvény

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 10.4 LTS és újabb

A legnagyobb számot adja vissza, amely nem nagyobb, mint expr a targetScale tizedesvesszőhöz viszonyított számjegyekre kerekítve.

Syntax

floor(expr [, targetScale])

Argumentumok

  • expr: Numerikus értéket kiértékelő kifejezés.
  • targetScale: Egy nem kötelező EGÉSZ SZÁM literál nagyobb, mint -38 az, hogy a tizedesvesszők után hány számjegyet kell lefelé kerekíteni.

Válaszok

Ha nincs targetScale megadva:

  • Ha expr igen DECIMAL(p, s), akkor a visszaadott érték DECIMAL(p - s + 1, 0).
  • Minden más esetben egy BIGINT értéket ad vissza.

Ha targetScale meg van adva, és expr a következő:

  • TINYINT

    Egy a DECIMAL(p, 0) with p = max(3, -targetScale + 1)értéket ad vissza.

  • SMALLINT

    Egy a DECIMAL(p, 0) with p = max(5, -targetScale + 1)értéket ad vissza.

  • INTEGER

    Egy a DECIMAL(p, 0) with p = max(10, -targetScale + 1))értéket ad vissza.

  • BIGINT

    Egy a DECIMAL(p, 0) with p = max(20, -targetScale + 1))értéket ad vissza.

  • FLOAT

    A with DECIMAL(p, s)p = max(14, -targetScale + 1)) és a s = min(7, max(0, targetScale))

  • DOUBLE

    A with DECIMAL(p, s)p = max(30, -targetScale + 1)) és a s = min(15, max(0, targetScale))

  • DECIMAL(p_in, s_in)

    A with DECIMAL(p, s)p = max(p_in - s_in + 1, -targetScale + 1)) és a s = min(s_in, max(0, targetScale))

Ha targetScale negatív, akkor a kerekítés a tizedesvessző bal oldalán lévő számjegyekre történik -targetScale .

Az alapértelmezett targetScale érték 0, amely a következő kisebb integrálszámra kerekedik le.

Példák

> SELECT floor(-0.1);
 -1

> SELECT floor(5);
 5

> SELECT floor(3345.1, -2);
 3300

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