2017-03-31 19 views
1

使用Google BigQuery标准SQL,我有一个日期列,另一列是数字。我想要将数字列作为间隔(例如日期或年份)进行投射,然后将其添加到另一个日期列。 date_add(ColA interval colB years) -> '2017-01-01'BigQuery:投射整数列作为日期间隔和添加日期列

我想我的日期列,可乐转化为它的2017年之前等价的:那么......

ColA,ColB 

'2015-01-01',2 

将一起使用。这是正确的方法,还是有更直接的功能/操作?

+0

你有一个率低。重要的是 - 你可以在投票的下方用贴出答案左边的勾号来标记接受答案。看到http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235为什么它很重要!对答案投票也很重要。表决有用的答案。 ...当某人回答你的问题时,你可以检查该怎么做 - http://stackoverflow.com/help/someone-answers。遵循这些简单的规则,您可以提高自己的声誉得分,同时让我们有动力回答您的问题:o)请考虑! –

回答

0

试试下面

#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