When you convert an Oracle Date into a characters string representing the Day or the Month the text strings aren’t quite what you would expect. On a couple of occasions I have written a SQL statement like the following and been left scratching my head
SELECT sysdate+level as the_date
WHERE to_char(sysdate+level,'DAY') = 'SATURDAY'
CONNECT BY LEVEL < 20;
no rows selected