BigQuery 中与年份 (%j) 格式设置元素一起使用的 PARSE_DATETIME 函数存在问题。该函数似乎忽略了一年中的某一天元素。
Eg.
select PARSE_DATETIME("%Y%j", "2013243")
returns 2013-01-01T00:00:00
,缺少一年中的某一天组件。
但是,具有相同日期格式元素的反向函数按预期工作:
select FORMAT_DATETIME("%Y%j", "2013-02-02T00:00:00")
返回:2013033
漏洞?还是用户错误?
Cheers
我认为这是一个可以修复的错误!它没有逻辑以一种方式运作而不是相反!
同时,您可以使用以下方法来实现目标
#standardSQL
CREATE TEMP FUNCTION PARSE_DATETIME_WITH_DAYS(x STRING) AS (
DATETIME_ADD(PARSE_DATETIME('%Y%j', x), INTERVAL CAST(SUBSTR(x, -3) AS INT64) - 1 DAY)
);
SELECT PARSE_DATETIME_WITH_DAYS('2013243')
结果 -
Row f0_
1 2013-08-31T00:00:00
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)