【发布时间】:2020-10-15 01:42:05
【问题描述】:
我正在尝试根据年龄和输入我们系统的日期来计算某人的出生年份。如何使用 Date_Sub 函数,将年龄字段用作我的时间间隔?
UPDATE `test.table`
SET BirthYear = DATE_SUB(DateEntered, INTERVAL Age YEAR)
WHERE BirthYear IS NULL;
当我尝试这个查询时,我收到以下错误:
Interval value must be coercible to INT64 type at [2:50]
我尝试将 Age 字段转换为 INT64:
No matching signature for function DATE_SUB for argument types: DATETIME, INTERVAL INT64 DATE_TIME_PART. Supported signature: DATE_SUB(DATE, INTERVAL INT64 DATE_TIME_PART) at [2:21]
我的表看起来像这样,其中 BirthYear 和 DateEntered 是 DateTime,Age 字段是一个字符串:
BirthYear DateEntered Age
NULL 2016-09-18T04:00:00 10
NULL 2020-09-18T00:00:00 7
NULL 2018-03-08T00:00:00 6.5
【问题讨论】:
标签: google-bigquery