Aracılığıyla paylaş


floor işlevi

Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 10.4 LTS ve üzeri

Ondalık ayırıcıya göre basamaklara targetScale yuvarlanmış olandan expr büyük olmayan en büyük sayıyı döndürür.

Söz dizimi

floor(expr [, targetScale])

Bağımsız değişkenler

  • expr: Sayısal olarak değerlendirilen ifade.
  • targetScale: Ondalık ayırıcıdan sonra aşağı yuvarlanacak basamak sayısıyla belirtilenden -38 daha büyük isteğe bağlı TAMSAYı değişmez değeri.

Döndürülenler

Hayır targetScale ise:

  • ise expr DECIMAL(p, s), döndürür DECIMAL(p - s + 1, 0).
  • Diğer tüm durumlarda bir BIGINT döndürür.

Belirtilirse targetScale ve expr bir ise:

  • TINYINT

    ile bir DECIMAL(p, 0) p = max(3, -targetScale + 1)döndürür.

  • SMALLINT

    ile bir DECIMAL(p, 0) p = max(5, -targetScale + 1)döndürür.

  • INTEGER

    ile bir DECIMAL(p, 0) p = max(10, -targetScale + 1))döndürür.

  • BIGINT

    ile bir DECIMAL(p, 0) p = max(20, -targetScale + 1))döndürür.

  • FLOAT

    ve ile değerini DECIMAL(p, s) p = max(14, -targetScale + 1)) döndürür s = min(7, max(0, targetScale))

  • DOUBLE

    ve ile değerini DECIMAL(p, s) p = max(30, -targetScale + 1)) döndürür s = min(15, max(0, targetScale))

  • DECIMAL(p_in, s_in)

    ve ile değerini DECIMAL(p, s) p = max(p_in - s_in + 1, -targetScale + 1)) döndürür s = min(s_in, max(0, targetScale))

Negatifse targetScale , yuvarlama ondalık noktasının solundaki basamaklara -targetScale gerçekleşir.

Varsayılan targetScale değer 0'dır ve sonraki küçük tam sayıya yuvarlanır.

Örnekler

> SELECT floor(-0.1);
 -1

> SELECT floor(5);
 5

> SELECT floor(3345.1, -2);
 3300

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