SQL OVERLAPS操作符问题,如何摆脱它[英] SQL OVERLAPS operator problem, how to get rid of it

本文是小编为大家收集整理的关于SQL OVERLAPS操作符问题,如何摆脱它的处理方法,想解了SQL OVERLAPS操作符问题,如何摆脱它的问题怎么解决?SQL OVERLAPS操作符问题,如何摆脱它问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我预计从"2011-01-28"到"2011-02-01"的日期期间重叠从"2011-02-01"到"2011-02-01"的日期(这里是同一天),但事实并非如此!

PostgreSQL 期望精确结束点的匹配不是匹配...如何摆脱这个?我想让它把上述场景视为重叠.

SELECT (DATE '2011-01-28', DATE '2011-02-01') OVERLAPS
       (DATE '2011-02-01', DATE '2011-02-01');

返回 false,而我希望它返回 true.

推荐答案

一种解决方法,即它可能对您的情况有意义,也可能没有意义 - 将日期转换为时间戳:

SELECT (TIMESTAMP '2011-01-28 00:00:00', TIMESTAMP '2011-02-01  23:59:59') OVERLAPS (TIMESTAMP '2011-02-01 00:00:00', TIMESTAMP '2011-02-01 23:59:59');

从技术上讲,仅转换第一个周期的端点就足够了,至少对于您给出的示例而言.

本文地址:https://www.itbaoku.cn/post/1763822.html