Determine Whether Two Date Ranges Overlap非常简单。我的情况稍微困难一些,但必须有一个简单的解决方案。
我有以下表格:
CREATE TABLE catalog_version
(
id character varying(36) NOT NULL,
name character varying(255),
valid_from timestamp without time zone,
valid_to timestamp without time zone,
)
CREATE TABLE catalog_article
(
id character varying(36) NOT NULL,
code character varying(100),
catalog_version_id character varying(36),
valid_from timestamp without time zone,
valid_to timestamp without time zone,
)
以下限制:
有没有办法以简单的方式检测,如果用户试图定义新的目录文章,在给定时间是否已有效文章?
示例:
----------------------------------------Version A---------------------------------------I
I--Article ABC--I
I--Article ABC--I
Valid cases:
I-Article ABC-I
I-Article ABC-----------------
--Article ABC--I
Invalid cases:
-----------------------------------------Article ABC-------I
I----------Article ABC-----------------------------------
有没有人知道是否有办法简化这项任务?我手边的唯一解决方案是为每种可能的情况制定AND条件。
答案 0 :(得分:0)
这是我发现帮助我解决这个问题的方法。
的第二条评论 SELECT MAX(starttime), MIN(endtime) FROM #period HAVING MIN(endtime) >
MAX(starttime);
这个答案属于另一个问题: