SQL - фильтрация значений по месяцу и дате - PullRequest
0 голосов
/ 16 января 2019

В настоящее время я борюсь за то, чтобы что-то сделать.

Мне нужны были только строки, в которых дата находится между определенной датой и месяцем.

В примере показаны только строки, в которых дата находится между 01/05 (ДД / ММ) и 08/07 (ДД / ММ). Дата может быть найдена в таблице tasks в информации о поле. Год не может иметь никакого смысла, но результаты могут быть только между этими двумя датами в этом году.

Я пробовал:

  • BETWEEN (TO_DATE ('01/05','DD/MM') AND (TO_DATE('08/07', 'DD/MM')
  • EXTRACT (DD/MM) from information.

никто из них не работает для меня, я надеюсь, что кто-то из вас может помочь мне разобраться!

Спасибо!

1 Ответ

0 голосов
/ 16 января 2019

Вы, кажется, хотите не обращать внимания на год. Если так, то я бы порекомендовал:

TO_CHAR(datecol, 'MM/DD') BETWEEN '05/01' AND '07/08'

Чтобы BETWEEN работал в этом случае, вам нужен формат в порядке MM-DD.

Если вы хотите это для определенного года, используйте прямое сравнение дат:

datecol >= DATE '2018-05-01' AND
datecol < DATE '2018-07-09'  -- note this is one day later

Даты Oracle содержат компонент времени, поэтому вам следует быть осторожным при сравнении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...