如何在Vertica中添加一天

时间:2016-04-21 16:37:24

标签: java vertica

在sql世界中,我们有“adddate()”函数来在给定的日期添加特定值。比如我可以说

select adddate('2016-2-28',2) as my_day;

,输出将是'2016-03-01'

在Vertica世界中,我们没有adddate()函数。我们实际上有ADD_MONTHS但不是ADD_DAYS。

所以我的问题是我们如何在Vertica中添加一天

2 个答案:

答案 0 :(得分:1)

Vertica非常聪明,可以理解以下内容:

SQL> select '2016-02-28'::date + 2 ;

答案 1 :(得分:1)

我想添加一些其他方法。如果您需要同时支持时间戳和日期,则这些功能很好。另外,我在其他DBMS中看到了对INTERVAL的更多支持,因此,如果需要跨DBMS的支持,则可能需要考虑INTERVAL。注意:如果需要将结果作为日期数据类型,则可能需要回溯到日期。

使用TIMESTAMPADD功能

SELECT TIMESTAMPADD('day', 1, '2020-02-28');

(如果您需要返回日期)

SELECT TIMESTAMPADD('day', 1, '2020-02-28')::date;

使用时间间隔

SELECT '2016-02-28'::date + INTERVAL '1 day';

(如果您需要返回日期)

SELECT ('2016-02-28'::date + INTERVAL '1 day')::date;