Partager via


Fonction floor

S’applique à : coche marquée oui Databricks SQL oui coché Databricks Runtime 10.4 LTS et ultérieur

Retourne le plus grand nombre non supérieur à expr arrondi à targetScale chiffres après la virgule à l’unité inférieure.

Syntaxe

floor(expr [, targetScale])

Arguments

  • expr : Expression qui prend une valeur numérique.
  • targetScale : littéral ENTIER facultatif supérieur à -38 qui spécifie le nombre de chiffres après la virgule auquel effectuer l’arrondi à l’unité inférieure.

Retours

Si aucune valeur targetScale n’est donnée :

  • Si expr a la valeur DECIMAL(p, s), retourne DECIMAL(p - s + 1, 0).
  • Pour tous les autres cas, retourne un BIGINT.

Si targetScale est spécifié et expr correspond à :

  • TINYINT

    Retourne une valeur DECIMAL(p, 0) avec p = max(3, -targetScale + 1).

  • SMALLINT

    Retourne une valeur DECIMAL(p, 0) avec p = max(5, -targetScale + 1).

  • INTEGER

    Retourne une valeur DECIMAL(p, 0) avec p = max(10, -targetScale + 1)).

  • BIGINT

    Retourne une valeur DECIMAL(p, 0) avec p = max(20, -targetScale + 1)).

  • FLOAT

    Retourne une valeur DECIMAL(p, s) avec p = max(14, -targetScale + 1)) et s = min(7, max(0, targetScale))

  • DOUBLE

    Retourne une valeur DECIMAL(p, s) avec p = max(30, -targetScale + 1)) et s = min(15, max(0, targetScale))

  • DECIMAL(p_in, s_in)

    Retourne une valeur DECIMAL(p, s) avec p = max(p_in - s_in + 1, -targetScale + 1)) et s = min(s_in, max(0, targetScale))

Si targetScale est négatif, l’arrondi se produit à -targetScale chiffres à gauche de la virgule.

La valeur targetScale par défaut est 0, ce qui arrondit au nombre intégral le plus petit suivant.

Exemples

> SELECT floor(-0.1);
 -1

> SELECT floor(5);
 5

> SELECT floor(3345.1, -2);
 3300

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