sql - 标准 SQL (BigQuery) 中整数 YYYMMDD 的日期
问题描述
我需要在 Bigquery 中将日期转换为格式为 YYYMMDD 的整数。
我试过:
PARSE_DATE('%Y%m%d', response_date)
但它不起作用(错误:参数类型的函数 PARSE_DATE 没有匹配的签名:STRING,DATE。支持的签名:PARSE_DATE(STRING,STRING)在 [1:8])
response_date:日期格式
想要的结果:20210201 作为整数或字符串
如果有人知道正确的语法,那将非常有帮助。谢谢!
解决方案
一种方法是算术:
select extract(year from response_date) * 10000 + extract(month from response_date) * 100 + extract(day from response_date)
另一种方法是FORMAT_DATE()
:
select cast(format_date('%Y%m%d', response_date) as int64)