Выборка по дате - MySQL (219552)
Формулировка задачи:
Всем здрасте, ситуация такая что есть таблица в которой какие-то данные со связью к определённому обьекту... и есть поля "date" , это для отчёта чтобы можно было посмотреть как в определенный день выглядели данные.
Вопрос: как выбрать данные так чтобы если например задана дата 2017-07-20 поиска:
Если с этой датой есть данные выбрала их, если нету то крайняя запись которая до 2017-07-20 ,
DATE <= :DAY // так всегда выберит то что ниже будет, а мне надо что если есть = то выбрала равно если нет то то что ниже
Решение задачи: «Выборка по дате»
textual
Листинг программы
WHERE (trunc(cur_date, 'dd') = to_date('28.07.17', 'dd.mm.yy') OR trunc(cur_date, 'dd') = to_date('28.07.17', 'dd.mm.yy') - 1)
Объяснение кода листинга программы
trunc(cur_date, 'dd')
- функцияtrunc
используется для округления даты до дня. В данном случае, мы округляем текущую дату до дня. Значение переменнойcur_date
не указано, но предполагается, что это текущая дата.to_date('28.07.17', 'dd.mm.yy')
- функцияto_date
используется для преобразования строки в дату. В данном случае, мы преобразуем строку '28.07.17' в дату. Формат 'dd.mm.yy' указывает, что строка должна быть в формате день.месяц.год.OR
- операторOR
используется для логического объединения двух условий. В данном случае, мы объединяем два условия с использованием оператораOR
.trunc(cur_date, 'dd') = to_date('28.07.17', 'dd.mm.yy') - 1
- второе условие в логическом объединении. Здесь мы проверяем, является ли округленная до дня текущая дата равной дате '28.07.17' минус один день.WHERE
- операторWHERE
используется для фильтрации результатов запроса. В данном случае, мы фильтруем результаты по условию, указанному выше. Список элементов:- Функция
trunc
- Функция
to_date
- Оператор
OR
- Условие
trunc(cur_date, 'dd') = to_date('28.07.17', 'dd.mm.yy') - 1
- Оператор
WHERE
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д