Baca dalam bahasa Inggris

Bagikan melalui


floor fungsi

Berlaku untuk: centang ditandai ya Databricks SQL centang ditandai ya 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.

Sintaks

floor(expr [, targetScale])

Argumen

  • 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.

Mengembalikan

Jika tidak ada targetScale yang diberikan:

  • Jika expr adalah DECIMAL(p, s), mengembalikan DECIMAL(p - s + 1, 0).
  • Untuk semua kasus lain, kembalikan BIGINT.

Jika targetScale ditentukan dan expr merupakan:

  • TINYINT

    Mengembalikan DECIMAL(p, 0) dengan p = max(3, -targetScale + 1).

  • SMALLINT

    Mengembalikan DECIMAL(p, 0) dengan p = max(5, -targetScale + 1).

  • INTEGER

    Mengembalikan DECIMAL(p, 0) dengan p = max(10, -targetScale + 1)).

  • BIGINT

    Mengembalikan DECIMAL(p, 0) dengan p = max(20, -targetScale + 1)).

  • FLOAT

    Mengembalikan DECIMAL(p, s) dengan p = max(14, -targetScale + 1)) dan s = min(7, max(0, targetScale))

  • DOUBLE

    Mengembalikan DECIMAL(p, s) dengan p = max(30, -targetScale + 1)) dan s = min(15, max(0, targetScale))

  • DECIMAL(p_in, s_in)

    Mengembalikan DECIMAL(p, s) dengan p = max(p_in - s_in + 1, -targetScale + 1)) dan s = 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.

Contoh

> SELECT floor(-0.1);
 -1

> SELECT floor(5);
 5

> SELECT floor(3345.1, -2);
 3300

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