Как получить строки между часами - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу получить все строки из моей таблицы, в таблице есть один столбец со следующим типом даты '14/07/2017 05:01:35 p.m.' между конкретными часами. Например, с 00:00 до 01:00 и с 01:00 до 00:00.

Я использую Oracle Database 11g Release 2

select ID, CREATION_TIME 
from my_table 
where ID = 4 and 
      CREATION_TIME between to_date('29/04/2017 12:01:00', 'DD/MM/YYYY HH:MI:SS[AM]') and to_date('29/04/2019 01:00:00', 'DD/MM/YYYY HH:MI:SS[AM]')
order by creation_time asc;

Я хочу выбрать часы вместо дат.

1 Ответ

0 голосов
/ 30 апреля 2019

Если вы имеете в виду (из вашего последнего комментария), что вы хотите получить все записи, которые находятся между датами 1 января 2019 года и 4 апреля 2019 года, но только в том случае, если временная часть записи находится между 12:01 и 1:00:00, тогда вы можете попробовать это:

select ID, CREATION_TIME 
from my_table 
where ID = 4 
and CREATION_TIME between to_date('01/01/2017', 'DD/MM/YYYY') 
    and to_date('04/04/2019', 'DD/MM/YYYY')
and CREATION_TIME BETWEEN TO_DATE(TO_CHAR(CREATION_TIME, 'MM/DD/YYYY') || ' 00:01:00', 'MM/DD/YYYY HH24:MI:SS')
                AND
                TO_DATE(TO_CHAR(CREATION_TIME, 'MM/DD/YYYY') || ' 01:00:00', 'MM/DD/YYYY HH24:MI:SS')
order by creation_time asc;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...