如何在Vertica中添加一天

3
在 SQL 世界中,我们有“adddate()”函数来在给定日期上添加特定的值。例如,我可以说:
select adddate('2016-2-28',2) as my_day;

输出将是“2016-03-01”。

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

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

2个回答

9

Vertica 足够聪明,可以理解以下内容:

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

2
我想再添加几种方法。如果您需要支持时间戳和日期,这些方法非常好。此外,我看到其他数据库管理系统对INTERVAL的支持更多,因此,如果您需要跨数据库管理系统支持,则可能需要考虑使用INTERVAL。注意:如果需要结果是日期数据类型,则可能需要转换回日期。 使用TIMESTAMPADD函数
SELECT TIMESTAMPADD('day', 1, '2020-02-28');

如果您需要返回日期。
SELECT TIMESTAMPADD('day', 1, '2020-02-28')::date;

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

(如果您需要返回日期)
SELECT ('2016-02-28'::date + INTERVAL '1 day')::date;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接