BigQuery:将整数列转换为日期间隔并添加到日期列

Posted

技术标签:

【中文标题】BigQuery:将整数列转换为日期间隔并添加到日期列【英文标题】:BigQuery: cast integer column as date interval and add to date column 【发布时间】:2017-03-31 23:43:05 【问题描述】:

使用 Google BigQuery 标准 SQL,我有一个日期列和另一个数字列。我想将数字列转换为间隔(比如日期或年份),然后将其添加到另一个日期列。所以...

ColA,ColB

'2015-01-01',2

将用作:date_add(ColA interval colB years) -> '2017-01-01'

我正在尝试将我的日期列 ColA 转换为相当于 2017 年的日期。这是正确的做法,还是有更直接的功能/操作?

【问题讨论】:

【参考方案1】:

下面试试

#standardSQL
WITH yourTable AS (
  SELECT '2015-01-01' AS colA, 2 AS colB
)
SELECT DATE_ADD(CAST(colA AS DATE), INTERVAL colB YEAR) AS new_dt
FROM yourTable

输出是

new_dt   
----------
2017-01-01  

【讨论】:

这帮助我解决了我现在正在解决的问题。感谢您用您的知识为这个社区做出贡献。赞成你回答 谢谢@Arsik36 - 很高兴看到我的旧答案仍然有用:o)

以上是关于BigQuery:将整数列转换为日期间隔并添加到日期列的主要内容,如果未能解决你的问题,请参考以下文章

BigQuery 帮助 - 如何转换并转换为浮点和日期格式

sql 将整数值转换为日期

如何计算 BigQuery 中日期间隔联合的重叠

如何将日期转换为 CDT 并使用 BigQuery 制作连接字符串?

如何在 Databricks 上使用 Apache Spark / Python 将整数转换为日期

如何将特定日期格式加载到 BigQuery