Bigquery: Getting first day of the week/month in standard SQL

This is better option that works now:

select DATE_TRUNC(date( '2008-12-25 15:30:00'), month)

It looks like BigQuery has a function named TIMESTAMP_TRUNC which may do what you want. It is referenced as the replacement for UTC_USEC_TO_DAY(t) in LegacySQL when used with a Day datepart. It also accepts Week and Month as a parameter which may meet your requirements.

TIMESTAMP_TRUNC(TIMESTAMP '2008-12-25 15:30:00', WEEK, 'UTC')

Here is the page for migrating from Legacy to Standard sql