I have this query to get all caseids that are less than 10 chars and do not have a T in front from the past hour:
x
SELECT *
FROM PICKDETAIL
WHERE LENGTH(CASEID) <> 10
AND CASEID NOT LIKE 'T%'
AND TO_CHAR(editdate, 'hh24mi') > TO_CHAR(sysdate - 1/24, 'hh24mi');
But when I run this I will still get results from days ago.
What could I be doing wrong here?
Advertisement
Answer
Don’t convert to a string. Just use date comparisons:
SELECT pd.*
FROM PICKDETAIL pd
WHERE LENGTH(pd.CASEID) <> 10 AND
pd.CASEID NOT LIKE 'T%' AND
pd.editdate > sysdate - 1/24;