BigQuery中是否存在DATEFROMPARTS
的等价项?我试图只更改时间戳中的月份和日期,而不是年份。
这是我在DATETIME:中的表格
BirthYear
2014-12-12T00:00:00
2015-01-07T00:00:00
我只想更改月份和日期,但保留年份。例如,将底部一行更改为:2015-04-01T00:00:00
以下查询在MSSQL中有效,我正试图在BigQuery中重写它:
UPDATE `table` SET BirthYear = DATEFROMPARTS(BirthYear, 04, 01) WHERE BirthYear IS NULL
datefromparts(year(birthdate), 4, 1)
的BigQuery等价物是
date(extract(year from BirthYear), 4, 1)
此外,如果您需要";转换";您可能希望使用的最新时间如下
datetime(date(extract(year from BirthYear), 4, 1))
对于以下SQL Server表达式:
datefromparts(year(birthdate), 4, 1)
在BigQuery中,可以使用datetime_trunc()
和datetime_add()
:
datetime_add(datetime_trunc(birthdate, year), interval 4 month)
这将为您提供一个datetime
值。如果要处理date
,则可以使用date_trunc()
和date_add()
。