如何使用现有时间戳在 BigQuery 中生成未嵌套的数组
Posted
技术标签:
【中文标题】如何使用现有时间戳在 BigQuery 中生成未嵌套的数组【英文标题】:How to generate an unnested array in BigQuery using existing timestamp 【发布时间】:2018-04-20 14:37:47 【问题描述】:我想接受这个查询(对我有用):
SELECT(DATE_ADD(DATE(CURRENT_TIMESTAMP()), INTERVAL 1* n MONTH)) as date
FROM UNNEST(GENERATE_ARRAY(0,12,1)) n
并将CURRENT_TIMESTAMP()
替换为现有表中的start_date
时间戳字段。
换句话说,我想为从start_date
开始的合同创建一个“有效月份”列表。
我对如何合并另一个 FROM
子句感到困惑!
【问题讨论】:
【参考方案1】:这应该可行:
SELECT(DATE_ADD(DATE(start_date), INTERVAL 1* n MONTH)) as date
FROM ExistingTable, UNNEST(GENERATE_ARRAY(0,12,1)) n
如果您在现有表中恰好有一行表示开始日期,则可以使用子选择:
SELECT(DATE_ADD(DATE((SELECT start_date FROM ExistingTable)), INTERVAL 1* n MONTH)) as date
FROM UNNEST(GENERATE_ARRAY(0,12,1)) n
【讨论】:
如果答案对您有用,请接受/投票。见***.com/help/someone-answers以上是关于如何使用现有时间戳在 BigQuery 中生成未嵌套的数组的主要内容,如果未能解决你的问题,请参考以下文章
如何根据 Big Query 中的 UTC 时间戳在 Data Studio 中显示本地时区的日期/时间
如何在 BigQuery 中生成日期系列并为缺失的销售数据填充零