Мне кажется, проблема в том, что функции to_char
по умолчанию дополняются пробелами:
SQL> SELECT '.' || to_char(SYSDATE + rownum, 'day') || '.' AS "Day"
2 FROM dual CONNECT BY LEVEL <= 5;
Day
-----------
.friday .
.saturday .
.sunday .
.monday .
.tuesday .
Чтобы предотвратить заполнение, используйте префикс fm
:
SQL> select * from dual where to_char(sysdate, 'fmday')='thursday';
DUMMY
-----
X
Также обратите внимание, что сравнение VARCHAR чувствительно к регистру.