Generate interval from variable in Presto Generate interval from variable in Presto sql sql

Generate interval from variable in Presto


This is not a direct answer to the question, but if the goal is to replicate the results described in the linked Stack Overflow question, generate days from date range, here is an alternative method to generate a sequence of dates in Presto:

SELECT    CAST(date_column AS DATE) date_columnFROM    (VALUES        (SEQUENCE(FROM_ISO8601_DATE('2010-01-20'),                   FROM_ISO8601_DATE('2010-01-24'),                   INTERVAL '1' DAY)        )    ) AS t1(date_array)CROSS JOIN    UNNEST(date_array) AS t2(date_column);

Output:

 date_column------------- 2010-01-20 2010-01-21 2010-01-22 2010-01-23 2010-01-24

You can also use other INTERVAL values besides DAY and different step sizes besides '1'.

*Adapted from this issue comment, https://github.com/prestodb/presto/issues/2169#issuecomment-68521569.


I ended up using date_add:

date_add('day', -(a.a + (10 * b.a) + (100 * c.a)), date_trunc('day', now()))