有没有办法使用 BigQuery 的 DAYOFWEEK 但将星期一作为第一天?

Alp*_*aCR 4 sql date-arithmetic google-bigquery

我目前正在尝试使用以下查询将日期列映射到其星期几,其中星期一为 1,星期日为 7:

EXTRACT(DAYOFWEEK FROM dates) AS day_of_week

然而,根据 BQ 的文档,该函数似乎使用星期日作为一周的第一天。有没有办法优雅地解决这个问题,而不需要在我的查询中使用条件表达式并手动调整结果?

BQ 文档:

DAYOFWEEK: Returns values in the range [1,7] with Sunday as the first day of the week.

GMB*_*GMB 5

FORMAT_DATE()您可以与格式说明符一起使用%u

FORMAT_DATE('%u', dates)
Run Code Online (Sandbox Code Playgroud)

文档描述%u为:

工作日(星期一为一周的第一天)为十进制数 (1-7)。