Date & Time

TIMESTAMP_TRUNC

BigQueryBigQuery

Memotong TIMESTAMP ke granularitas yang ditentukan. Mendukung timezone untuk hasil yang akurat.

Tipe hasil: TIMESTAMPDiperbarui: 7 Jan 2026

Syntax

SQL
TIMESTAMP_TRUNC(timestamp_expression, timestamp_part [, time_zone])

Parameter

timestamp_expressionTIMESTAMPwajib

TIMESTAMP yang akan dipotong

timestamp_partTIMESTAMP_PARTwajib

Granularitas: YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND, etc.

time_zoneSTRINGopsional

Timezone untuk kalkulasi (default UTC)

Contoh Penggunaan

Basic Truncation

SQL
1SELECT
2 ts,
3 TIMESTAMP_TRUNC(ts, DAY) as day_utc,
4 TIMESTAMP_TRUNC(ts, DAY, 'Asia/Jakarta') as day_jakarta
5FROM UNNEST([TIMESTAMP '2024-01-15 20:00:00 UTC']) as ts;

Truncation dengan timezone berbeda.

Hasil
tsday_utcday_jakarta
2024-01-15 20:00:00 UTC2024-01-15 00:00:00 UTC2024-01-15 17:00:00 UTC

Daily Metrics

SQL
1SELECT
2 TIMESTAMP_TRUNC(event_time, DAY, 'Asia/Jakarta') as day,
3 COUNT(DISTINCT user_id) as daily_active_users
4FROM `project.dataset.events`
5GROUP BY day
6ORDER BY day;

DAU dengan timezone Indonesia.