You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Postgres中daterange()函数的工作原理、文档查询及包含式结束日期函数的咨询

关于Postgres中daterange()函数的工作原理、文档查询及包含式结束日期函数的咨询

嗨,我来帮你把这个Postgres里daterange函数的问题理清楚~

首先来说你遇到的空结果问题:你执行的select daterange(current_date, current_date);返回空区间,核心原因是daterange默认采用左闭右开的区间规则——也就是起始日期是被包含的,但结束日期是被排除的。当你把起始和结束都设成同一天时,这个区间里其实没有任何有效的日期,自然就返回空啦。

然后是你提到的文档问题:其实daterange是PostgreSQL内置的范围类型构造函数,它的相关说明都在官方文档的「范围类型」章节里哦。这类构造函数的命名逻辑很统一,比如针对整数的int4range、针对时间戳的tsrange,都是和对应的范围类型同名的构造函数,可能你之前找的方向不对才没找到。

最后说你关心的「有没有能创建包含式结束日期的daterange」——当然有两种常用方法:

  • 直接在构造函数里加第三个参数指定边界类型,比如执行daterange(current_date, current_date, '[]'),这里的[]就表示左右边界都包含,这样就能得到包含当天的有效区间了。
  • 另一种思路是把结束日期往后推一天,比如daterange(current_date, current_date + interval '1 day'),利用左闭右开的规则,这个区间就会完整包含当天的所有日期。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 07:59:37