微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

仅在BigQuery中更改月份和日期

如何解决仅在BigQuery中更改月份和日期

BigQuery是否与DATEFROMPARTS等效?我只想更改时间戳中的月份和日期,而不更改年份。

这是我在DATETIME的桌子:

BirthYear 
2014-12-12T00:00:00
2015-01-07T00:00:00

我只想更改月份和日期,但保留年份。例如,将底行更改为:2015-04-01T00:00:00

以下查询在MS sql中有效,我正尝试在BigQuery中重写它:

UPDATE `table` SET BirthYear = DATEFROMPARTS(BirthYear,04,01) WHERE BirthYear IS NULL

解决方法

对于以下SQL Server表达式:

datetime_trunc()

在BigQuery中,您可以使用datetime_add()datetime_add(datetime_trunc(birthdate,year),interval 4 month) 来做到这一点:

datetime

这将为您提供date_trunc()值。如果要处理date_add(),则可以使用date和{{1}}。

,

相当于date(extract(year from BirthYear),4,1) 的BigQuery是

datetime(date(extract(year from BirthYear),1))   

此外,如果您需要它“转换”回日期时间,则可能要按以下方式使用

A = replace(X,"," ");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。