floor
fungsi
Berlaku untuk: Databricks SQL
Databricks Runtime 10.4 LTS ke atas
Mengembalikan angka terbesar yang tidak lebih besar dari expr
, yang dibulatkan ke bawah ke targetScale
digit relatif terhadap titik desimal.
floor(expr [, targetScale])
expr
: Ekspresi yang mengevaluasi ke numerik.targetScale
: BILANGAN BULAT opsional lebih besar dari-38
yang ditentukan oleh berapa banyak digit setelah titik desimal yang dibulatkan ke bawah.
Jika tidak ada targetScale
yang diberikan:
- Jika
expr
adalahDECIMAL(p, s)
, mengembalikanDECIMAL(p - s + 1, 0)
. - Untuk semua kasus lain, kembalikan BIGINT.
Jika targetScale
ditentukan dan expr
merupakan:
TINYINT
Mengembalikan
DECIMAL(p, 0)
denganp = max(3, -targetScale + 1)
.SMALLINT
Mengembalikan
DECIMAL(p, 0)
denganp = max(5, -targetScale + 1)
.INTEGER
Mengembalikan
DECIMAL(p, 0)
denganp = max(10, -targetScale + 1))
.BIGINT
Mengembalikan
DECIMAL(p, 0)
denganp = max(20, -targetScale + 1))
.FLOAT
Mengembalikan
DECIMAL(p, s)
denganp = max(14, -targetScale + 1))
dans = min(7, max(0, targetScale))
DOUBLE
Mengembalikan
DECIMAL(p, s)
denganp = max(30, -targetScale + 1))
dans = min(15, max(0, targetScale))
DECIMAL(p_in, s_in)
Mengembalikan
DECIMAL(p, s)
denganp = max(p_in - s_in + 1, -targetScale + 1))
dans = min(s_in, max(0, targetScale))
Jika targetScale
negatif, pembulatan dilakukan ke -targetScale
digit di sebelah kiri titik desimal.
Defaultnya targetScale
adalah 0, yang dibulatkan ke bawah ke angka integral berikutnya yang lebih kecil.
> SELECT floor(-0.1);
-1
> SELECT floor(5);
5
> SELECT floor(3345.1, -2);
3300
> SELECT floor(-12.345, 1);
-12.4