是否有一种标准方法可以使用内置函数从 BigQuery 中的日期返回 ISO 标准(星期一 = 1)中的“星期几”(1-7)?
EXTRACT(DAYOFWEEK, <date>)返回一个使用美国格式的数字,即星期日 = 1,这对我的目的不起作用。
我可以创建一个自定义函数来计算 ISO 星期几数,但我不确定是否缺少可以使用的内置功能。
您可以使用模运算转换为 ISO 标准(星期一 = 1):
MOD(EXTRACT(DAYOFWEEK FROM <date>) + 5, 7) + 1
Run Code Online (Sandbox Code Playgroud)
以下是此类功能的示例 - 只是您可以提供的众多选项之一
#standardSQL
CREATE TEMP FUNCTION ISODAYOFWEEK(day DATE) AS ((
SELECT IF(weekday = 0, 7, weekday)
FROM UNNEST([EXTRACT(DAYOFWEEK FROM day) - 1]) weekday
));
Run Code Online (Sandbox Code Playgroud)