python - 是否有一些代码的行为方式与 oracle 中的“add_month”相同?
问题描述
如果您将月份的最后一天传递给Oracleadd_months
函数,它将返回月份的最后一天。但据我所知,在 python 中,relativedelta无法返回月份的最后一天。
我无法导入MonthDelta,我不知道它是否有效。
例如,add_months(to_date('20190430','yyyymmdd'),-6)
返回'20181031'
,
from dateutil.relativedelta import relativedelta
from datetime import date
date(2019,4,30) - relativedelta(months=6)
# returns 20181030
我想知道是否有一些功能add_month
与 python 或 greenplum 中的功能完全相同。
解决方案
两个不同的答案:
在 Greenplum 中安装 Oracle 兼容性功能。
psql -f /usr/local/greenplum-db/share/postgresql/contrib/orafunc.sql
然后您可以像在 Oracle 中一样使用 Oracle 中的 add_months() 函数。
您可以使用间隔数据类型来添加月份。
your_date_field + interval '1 month'
推荐阅读
- javascript - 谷歌地图绘图中的错误?
- laravel - 使用 XAMPP 和 Laravel 时 iframe 拒绝连接
- c# - 我可以在 Entity Framework Core 中使用原始 T-SQL 命令来初始化数据库吗?
- sql - 想要将第二个查询的列连接到第一个查询,但出现“查询块的结果列数不正确”等错误
- html - 如何在css angular中制作旋转动画
- javascript - 无法在节点 js 中使用 Request 或 Axios 发布文件
- javascript - 当第一个函数完成时执行第二个函数
- cloudera - Impala 添加具有默认值的列
- c++ - 是否正确/值得将 __attribute__((const)) 放在访问全局内存的函数上也完全是输入的函数?
- r - 如何在ggplot中制作条形图?