TGViewer
Системный аналитик с нуля | Альбина Гараева Системный аналитик с нуля | Альбина Гараева @garaeva_it · 1.09K subscribers
Post #566 559
Рассмотрим, как SQL воспринимает дату на следующем примере: у нас есть медицинская информационная система, необходимо понять, какие врачи работали с 20.05.2024 по 30.05.2024.

Можем использовать оператор BETWEEN, в результате чего получим выборку с 20 по 30 мая включительно.

❗️Запрос с BETWEEN идентичен операторам сравнения >= и <=.

Итак, наш запрос:

SELECT doctor_id, app_date
FROM doctors
WHERE app_date BETWEEN ‘20.05.2024’ AND ‘30.05.2024’

По факту мы получим список до 29.05 включительно, записей 30.05.2024 не будет, т.к. SQL воспринимает дату ‘30.05.2024’ как ‘30.05.2024 00:00:00’.

Что делать?

Есть несколько способов обойти этот момент, всё зависит от того, что мы хотим получить:

▫️можно указать ‘30-05-2024 23:59:59’ - и это уже другой тип данных

▫️можно указать 31.05.2024, но указание даты вручную чревато тем, что можно ошибиться, особенно когда речь идет о 28.02.2024, т.к. здесь следующий день будет 29.02.2024, а вот в 2025 году - 01.03.2025

▫️воспользоваться командой INTERVAL, которая позволяет прибавлять к дате и отнимать от нее определенные промежутки времени. В нашем случае добавляем интервал один день, вот как это будет выглядеть

SELECT doctor_id, app_date
FROM doctors
WHERE app_date BETWEEN ‘20.05.2024’ AND ‘30.05.2024’::date + INTERVAL ‘1 day’

Примечание: после команды INTERVAL можно указывать не только день, месяц, год, но и сразу месяц+день, год+месяц, часы+секунды и т.д.
Например, указываем, что хотим часы и секунды (HOUR_SECOND), а перед этим в кавычках пишем сначала значение для часов, а потом для секунд. Это выглядит так: INTERVAL ‘5-30’ HOUR_SECOND.
  • 🔥 12
  • 👍 3
  • ❤ 2
More from @garaeva_it
  1. Jun 21, 20265 продуктов, которые закроют ваши главные пробелы Друзья, собрала для вас всё в одном мест…
  2. Jun 19, 2026Дорогие студенты, благодарю вас за ваши прекрасные #отзывы Делюсь отзывом Алии, она работа…
  3. Jun 17, 2026Чтобы вы перестали гадать и начали проектировать логику взаимодействия осознанно, я открыв…
  4. Jun 15, 2026Надо ли системному аналитику разбираться в проектировании интерфейсов? Не раз слышала от с…
  5. Jun 13, 2026Вчера я писала о том, как незнание процессов превращает аналитика просто в создателя ТЗ, к…
  6. Jun 12, 2026«ТЗ готово, но задача не двигается»: почему аналитику критично понимать процессы разработк…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →