Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

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]