Math
DuckDB
TRUNC
Memotong angka ke jumlah desimal tertentu tanpa pembulatan. Selalu menuju nol.
Tipe hasil:
Sama dengan tipe inputDiperbarui: 6 Jan 2026Syntax
SQL
TRUNC(number [, decimal_places]) | TRUNCATE(number [, decimal_places])Parameter
numbernumericwajib
Angka yang akan dipotong
decimal_placesINTEGERopsional
Jumlah desimal yang dipertahankan (default: 0)
Default: 0
Contoh Penggunaan
Perbedaan TRUNC vs FLOOR
SQL
1 SELECT 2 TRUNC(3.9) as trunc_pos, 3 FLOOR(3.9) as floor_pos, 4 TRUNC(-3.9) as trunc_neg, 5 FLOOR(-3.9) as floor_neg;
TRUNC dan FLOOR berbeda untuk angka negatif.
Hasil
| trunc_pos | floor_pos | trunc_neg | floor_neg |
|---|---|---|---|
| 3 | 3 | -3 | -4 |
Memotong ke 2 Desimal
SQL
1 SELECT TRUNC(3.14159, 2);
Memotong tanpa pembulatan.
Hasil
3.14
Memotong Jam dari Timestamp
SQL
1 SELECT 2 event_time, 3 TRUNC(EXTRACT(EPOCH FROM event_time) / 3600) * 3600 as hour_epoch 4 FROM events;
Memotong timestamp ke jam terdekat ke bawah.