F.11. daterange_inclusive
daterange_inclusive
— это расширение встроенного диапазонного типа daterange
. По умолчанию daterange
исключает верхнюю границу диапазона [)
, а daterange_inclusive
— нет []
. За исключением границы покрываемого диапазона между daterange
и daterange_inclusive
нет разницы.
Данный модуль считается «доверенным», то есть его могут устанавливать обычные пользователи, имеющие право CREATE
в текущей базе данных.
F.11.1. Обоснование
Иногда бывает удобно выводить временные диапазоны со включённой верхней границей. Например, это применимо к отпускам сотрудников. Если сотрудник в отпуске с 1 января 2025 года по 10 января 2025 года, база данных не сможет полностью вывести этот временной диапазон при использовании диапазонного типа daterange
. В этом случае необходимо вручную вычитать один день из вывода. Расширение daterange_inclusive
решает эту проблему.
F.11.2. Пример использования
CREATE EXTENSION daterange_inclusive; SELECT daterange('[2024-01-01,2024-06-01]'); daterange ------------------------- [2024-01-01,2024-06-02) SELECT daterange_inclusive('[2024-01-01,2024-06-01]'); daterange_inclusive ------------------------- [2024-01-01,2024-06-01]