暂无图片
postgresql 两个月份,如何计算一共有几个月?
我来答
分享
暂无图片 匿名用户
postgresql 两个月份,如何计算一共有几个月?

例如2020-12 至2022-07

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
刘贵宾

SELECT EXTRACT(YEAR FROM age) * 12 + EXTRACT(MONTH FROM age) AS months_between

FROM age(TIMESTAMP '2022-07-01', TIMESTAMP '2020-12-01') AS t(age);


如果要多次执行此操作,则可以定义以下函数:

CREATE FUNCTION months_between (t_start TIMESTAMP, t_end TIMESTAMP)
    RETURNS INTEGER
    AS $$
        SELECT
            (
                12 * EXTRACT('years' FROM a.i) + EXTRACT('months' FROM a.i)
            )::INTEGER
        FROM (
            VALUES (justify_interval($2 - $1))
        ) AS a (i)
    $$
    LANGUAGE SQL
    IMMUTABLE
    RETURNS NULL ON NULL INPUT;


这样你就可以

SELECT months_between('2020-01-01', now());


比如你提供的日期:

SELECT months_between('2020-12-01', '2022-07-01');

暂无图片 评论
暂无图片 有用 2
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
postgresql 的存储过程可以实现读取excel文件吗?
回答 1
在postgresql里可以用jdbc或者odbc来读excel文件https://www.cdata.com/kb/tech/exceljdbcpostgresqlfdw.rst另外,也可以使用og
postgreSQL 中怎么解决count(*)特别慢这个问题?
回答 4
执行计划看下?
PG12升级到PG14,pg_upgrade --link的升级方式,需要注意什么?欢迎大牛指导
回答 1
在将PostgreSQL从版本12升级到版本14时,使用pgupgrade工具的link模式进行升级是一个不错的选择。然而,在进行这样的升级时,还是需要注意以下几点:备份数据:在开始任何数据库升级之前
plpgsql有好书推荐下
回答 2
已采纳
www.modb.pro/db/475440
硬盘空间不够了,有办法让 postgreSQL 库分散到不同的硬盘上吗?
回答 2
创建新的表空间,指向不同的目录,并修改表的表空间为新创建的表空间
请教各位老师,pg_dump加了-Z参数对备份文件做了压缩,pg_restore如何还原?
回答 1
已采纳
dump时不指定格式时默认是formatp导出格式是文本格式文本格式一般用psql导入,formatd或者c可以使用压缩可以用pgrestore恢复
db2中sysibmadm.snapdyn_sql视图中的数据会删除吗?数据存储在那个表空间下呢?
回答 2
。。。
pg中有什么好的办法分析wal 中哪些dml 操作最频繁,占用的wal最大
回答 1
可以用插件pgwaldump、pgwalminer
-Fd导出的文件,如何用pg_restore来整库恢复呢?
回答 1
1.准备工作备份文件:确保导出的文件是通过 pgdumpFc 生成的(例如 backup.dump)。权限:恢复用户需具有 CREATEDB 权限(若
postgres有 falshback query?
回答 3
因为是人为误操作,所以常规操作手段是优先考虑物理恢复,即在异机环境做库恢复,然后读出误操作前的数据,再将数据导入到生产环境;当然也可以在生产库使用物理备份集和归档进行基于时间点恢复,全库恢复到误操作前