gpt4 book ai didi

vertica - 向日期添加 1 个日历月的间隔

转载 作者:行者123 更新时间:2023-12-02 11:04:34 24 4
gpt4 key购买 nike

我想向某个日期添加 1 个日历月,忽略该月的天数。即 add_month('2015-02-23') 返回 2015-03-23add_month('2015-05-23') 返回2015-06-23

似乎我可以使用 INTERVAL '1 Month' 来执行此操作,但我惊讶地发现,每当我执行此操作时,它都会为我的输入添加 30 天,即功能上与 间隔'30天'。你也会遇到这种情况吗?我应该怎样做才能增加 1 个日历月?

示例:

SELECT DATE('2015-04-23') + INTERVAL '1 month'

返回2015-05-23同时

SELECT DATE('2015-05-23') + INTERVAL '1 month'

返回2015-06-22!

最佳答案

此行为是由于 Vertica 是以 SQL 2008 为模型造成的其中 1 MONTH 是静态 30 天,而不是“智能月份”。

dbadmin=> SELECT INTERVAL '1 MONTH';
?column?
----------
30
(1 row)

为了获得所需的行为,您应该使用INTERVALYM:

dbadmin=> SELECT INTERVALYM '1 MONTH';
?column?
----------
0-1
(1 row)

dbadmin=> SELECT DATE('2015-05-23') + INTERVALYM '1 MONTH';
?column?
---------------------
2015-06-23 00:00:00
(1 row)

Read more

关于vertica - 向日期添加 1 个日历月的间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31508107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com