Использование системной даты для фильтрации - PullRequest
0 голосов
/ 22 марта 2019

Выполнение SQL-запроса для сбора данных с датами в заданном диапазоне. stdt - это тип данных даты. Это проблемный код:

    select hofc_wrk_unit_uid
    from mhal_rep.stusha
    where STDT BETWEEN date('2010-01-21') AND to_char(SYSDATE, 'YYYY-MM-DD')
    and ibmsnap_operation not in ('D')
    and stus_cd in ('CLSD')

Я получаю сообщение об ошибке «Столбец SYSDATE не существует»

Как мне заставить его вызвать функцию SYSDATE и перестать искать столбец с именем sysdate?

Попробовал это:

    select hofc_wrk_unit_uid
    from mhal_rep.stushh
    where STDT BETWEEN date('2010-01-21') AND SYSDATE()
    and stus_endt BETWEEN date('2010-01-21') AND SYSDATE()
    and stus_cd in ('DWPC')
    and ibmsnap_operation not in ('D')

и я получаю функцию sysdate () не существует

1 Ответ

0 голосов
/ 23 марта 2019

Попробуйте следующее:

select hofc_wrk_unit_uid
    from mhal_rep.stushh
    where STDT BETWEEN date('2010-01-21') AND current_date
    and stus_endt BETWEEN date('2010-01-21') AND current_date
    and stus_cd in ('DWPC')
    and ibmsnap_operation not in ('D')
...