如何在BigQuery中添加星期几列?操作后返回空值求助
BigQuery新增DayofWeek列后数据为空的解决办法
你的问题出在使用了INSERT语句——INSERT是用来往表里新增行的,不是给已有的行填充列值,所以原数据的DayofWeek列还是空,反而可能多了一堆只有DayofWeek值的空行。
正确操作
1. 先新增列(如果还没执行这步)
ALTER TABLE `bellabeat-case-study-2-376122.fitbit_data.daily_activity` ADD COLUMN DayofWeek INT64;
2. 更新现有行的列值
用UPDATE语句给每一行计算并填充星期几:
UPDATE `bellabeat-case-study-2-376122.fitbit_data.daily_activity` SET DayofWeek = EXTRACT(DAYOFWEEK FROM ActivityDate) WHERE ActivityDate IS NOT NULL; -- 可选,跳过日期为空的行
额外提示
BigQuery里EXTRACT(DAYOFWEEK FROM ActivityDate)返回的是1(周日)到7(周六)的整数,如果需要周一作为一周的第一天,改用EXTRACT(ISOWEEKDAY FROM ActivityDate),它返回1(周一)到7(周日)。
内容的提问来源于stack exchange,提问作者Jose Aldana
相关产品推荐
相关产品推荐

