Получить записи между конкретными временными рамками - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь выбрать все доступные записи за промежуток времени.

Мне нужно взять метку времени из TABLE2 и получить все записи в TABLE1 , доступные между этим временем и текущим временем.

SELECT COUNT(*) 
FROM TABLE1 
WHERE STATUS = 'COMPLETED' 
      AND LAST_UPDATE_USER = 'myID' 
      AND LAST_UPDATE_DT BETWEEN 
          TO_DATE((
              SELECT /*+PARALLEL(16)*/ SIGN_IN_DT 
              FROM TABLE2 
              WHERE ID = 'myID' 
                    AND SIGNED_SCREEN = 'screen1' 
                    AND SIGN_OFF_DT IS NULL), 
              'dd-mon-yyyy hh24:mi:ss.ff') 
           AND SYSDATE;

Формат даты в обеих таблицах = 05-MAR-19 07.47.26.769934000 PM

Я получаю исключение:

ORA-01821: формат даты не распознан

Пожалуйста, помогите.

1 Ответ

1 голос
/ 05 марта 2019

Попробуйте этот запрос:

select * from table1 t1
      join table2 t2 on t1.last_update_user = t2.ID
where t1.status = 'COMPLETED'
  and t1.last_update_user = 'myID'
  and t2.signed_screen = 'screen1'
  and t2.sign_off_dt is null
  and t1.last_update_dt between t2.sign_in_dt and sysdate;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...