Неясно, что вы ищете здесь, но в вашем примере это может выглядеть так:
SELECT NETCASH FROM TB1 WHERE to_char(tb1.CUTOFFDATE,'yyyy-mm-dd') IN (
SELECT to_char(dates,'yyyy-mm-dd') dates
FROM (
SELECT TO_DATE('01-JAN-2019') + ROWNUM - 1 dates
FROM (
SELECT ROWNUM FROM (
SELECT 1 FROM DUAL
CONNECT BY LEVEL <= sysdate - (TO_DATE('01-JAN-2019') + 1 )
)
)
);
Хотя лично, если CUTOFFDATE не является строкой в этом формате, я бы просто удалил оба TO_CHAR, если вам нужна полночь, вы можете использовать TRUN C (дата).
Вы также можете сделать это:
SELECT NETCASH
FROM TB1
INNER JOIN (
SELECT to_char(dates,'yyyy-mm-dd') dates
FROM (
SELECT TO_DATE('01-JAN-2019') + ROWNUM - 1 dates
FROM (
SELECT ROWNUM FROM (
SELECT 1 FROM DUAL
CONNECT BY LEVEL <= sysdate - (TO_DATE('01-JAN-2019') + 1 )
)
)
)) as DATES
ON dates.dates = to_char(tb1.CUTOFFDATE,'yyyy-mm-dd')
;
Но эти два запроса дадут очень разные результаты, используйте тот, который соответствует вашим намерениям.