Skip to content

Bug in the precision of "day of" interval calculation #1678

@SeenaFa

Description

@SeenaFa

The engine has a precision issue when it comes to comparing datetime values, in Intervals, when the values are exactly the same.

define TestDateInInterval: @2026-04-02T08:00:00.000+00:00 in Interval(@2026-04-02T08:00:00.000+00:00, @2026-04-06T08:15:00.000+00:00]

define TestDateInIntervalDay: @2026-04-02T08:00:00.000+00:00 in day of Interval(@2026-04-02T08:00:00.000+00:00, @2026-04-06T08:15:00.000+00:00]

"TestDateTinInterval" returns FALSE, which is expected

"TestDateInIntervalDay" returns TRUE, when it actually should return FALSE

Below is a minimal cql library that can be used to reproduce the results:

library TestIntervalAfter

define Interval1: Interval[@2026-04-02T08:00:00.000+00:00, @2026-04-02T08:15:00.000+00:00]
define Interval2: Interval[@2026-04-02T08:00:00.000+00:00, @2026-04-06T08:15:00.000+00:00]

define TestInterval1AfterInterval2: Interval1 starts 6 months or less after start of Interval2
define TestInterval1AfterInterval2Day: Interval1 starts 6 months or less after day of start of Interval2

define TestInterval1AfterInterval2Equivalent: start of Interval1 in Interval(start of Interval2, start of Interval2 + 6 months] and Interval2 is not null
define TestInterval1AfterInterval2DayEquivalent: start of Interval1 in day of Interval(start of Interval2, start of Interval2 + 6 months] and Interval2 is not null
define TestInterval1AfterInterval2DayEquivalent2: start of Interval1 in day of Interval(date from start of Interval2, date from start of Interval2 + 6 months] and Interval2 is not null

define TestDateInInterval: @2026-04-02T08:00:00.000+00:00 in Interval(@2026-04-02T08:00:00.000+00:00, @2026-04-06T08:15:00.000+00:00]
define TestDateInIntervalDay: @2026-04-02T08:00:00.000+00:00 in day of Interval(@2026-04-02T08:00:00.000+00:00, @2026-04-06T08:15:00.000+00:00]

define TestDayComparison: @2026-04-02T08:00:00.000+00:00 after day of @2026-04-02T08:00:00.000+00:00

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions