Delen via


floor-functie

Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 10.4 LTS en hoger

Retourneert het grootste getal dat niet groter is dan expr naar beneden afgerond op targetScale cijfers ten opzichte van het decimaalteken.

Syntaxis

floor(expr [, targetScale])

Argumenten

  • expr: Een expressie die resulteert in een numerieke waarde.
  • targetScale: Een optioneel geheel getal dat groter is dan -38 opgeven door het aantal cijfers achter de decimalen om omlaag af te ronden.

Retouren

Als er geen targetScale is opgegeven:

  • Als expr dat het is DECIMAL(p, s), retourneert DECIMAL(p - s + 1, 0).
  • Voor alle andere gevallen wordt een BIGINT geretourneerd.

Als targetScale dit is opgegeven en expr een:

  • TINYINT

    Geeft als resultaat een DECIMAL(p, 0) met p = max(3, -targetScale + 1).

  • SMALLINT

    Geeft als resultaat een DECIMAL(p, 0) met p = max(5, -targetScale + 1).

  • INTEGER

    Geeft als resultaat een DECIMAL(p, 0) met p = max(10, -targetScale + 1)).

  • BIGINT

    Geeft als resultaat een DECIMAL(p, 0) met p = max(20, -targetScale + 1)).

  • FLOAT

    Geeft als resultaat een DECIMAL(p, s) met p = max(14, -targetScale + 1)) en s = min(7, max(0, targetScale))

  • DOUBLE

    Geeft als resultaat een DECIMAL(p, s) met p = max(30, -targetScale + 1)) en s = min(15, max(0, targetScale))

  • DECIMAL(p_in, s_in)

    Geeft als resultaat een DECIMAL(p, s) met p = max(p_in - s_in + 1, -targetScale + 1)) en s = min(s_in, max(0, targetScale))

Als targetScale dit negatief is, treedt de afronding op op -targetScale cijfers links van het decimaalteken.

De standaardwaarde targetScale is 0, die naar beneden wordt afgerond op het volgende kleinere integraal getal.

Voorbeelden

> SELECT floor(-0.1);
 -1

> SELECT floor(5);
 5

> SELECT floor(3345.1, -2);
 3300

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