Di PostgreSQL, trunc()
fungsi memotong angka.
Lebih khusus lagi, ini memotong angka ke arah nol, atau ke sejumlah tempat desimal tertentu.
Sintaks
trunc()
fungsi dapat digunakan dengan salah satu cara berikut:
trunc(dp or numeric)
trunc(v numeric, s int)
Sintaks pertama memotong angka menuju nol.
Sintaks kedua memotongnya ke sejumlah tempat desimal tertentu. Dalam hal ini, v
adalah nomornya, dan s
adalah jumlah tempat desimal.
Contoh Sintaks Pertama
Berikut adalah contoh yang menggunakan sintaks pertama.
SELECT trunc(342.49);
Hasil:
342
Contoh Sintaks Kedua
Berikut adalah contoh yang menggunakan sintaks kedua.
SELECT trunc(342.49, 1);
Hasil:
342.4
Menambahkan Detik Pecahan
Berikut adalah contoh untuk menentukan jumlah tempat desimal jika angka tersebut tidak termasuk.
SELECT trunc(342, 3);
Hasil:
342.000
Bilangan Negatif
Berikut ini contoh yang menggunakan angka negatif.
SELECT round(-4.5);
Hasil:
-5
Tempat Desimal Negatif
Inilah yang terjadi jika argumen kedua bernilai negatif.
SELECT trunc(342, -2);
Hasil:
300
Trunc() vs Round()
Dalam beberapa kasus, trunc()
fungsi mungkin tampak bekerja dengan cara yang mirip dengan round()
. Tapi mereka adalah fungsi yang sangat berbeda.
round()
fungsi membulatkan angka. Angka dibulatkan ke bilangan bulat terdekat atau ke jumlah tempat desimal yang ditentukan (tergantung apakah Anda memberikan satu argumen atau dua argumen).
trunc()
fungsi di sisi lain hanya memotong angka menuju nol atau ke tempat desimal yang ditentukan. Tidak ada pembulatan yang dilakukan.
Berikut ini contoh untuk menunjukkan perbedaannya.
SELECT
round(342.49, 1),
trunc(342.49, 1);
Hasil:
round | trunc -------+------- 342.5 | 342.4