Math

TRUNC

DuckDBDuckDB

Memotong angka ke jumlah desimal tertentu tanpa pembulatan. Selalu menuju nol.

Tipe hasil: Sama dengan tipe inputDiperbarui: 6 Jan 2026

Syntax

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
1SELECT
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_posfloor_postrunc_negfloor_neg
33-3-4

Memotong ke 2 Desimal

SQL
1SELECT TRUNC(3.14159, 2);

Memotong tanpa pembulatan.

Hasil
3.14

Memotong Jam dari Timestamp

SQL
1SELECT
2 event_time,
3 TRUNC(EXTRACT(EPOCH FROM event_time) / 3600) * 3600 as hour_epoch
4FROM events;

Memotong timestamp ke jam terdekat ke bawah.

Fungsi Terkait