Когда вы используете TO_CHAR(sysdate-1,'DAY')
, тогда результат дополняется пробелами. Попробуйте SELECT '"'||TO_CHAR(sysdate-1,'DAY')||'"'
, чтобы увидеть эффект.
Используйте Модификаторы модели формата FM
, и вы должны также явно указать язык:
TO_CHAR(sysdate-1, 'fmDAY', 'NLS_DATE_LANGUAGE = American') = 'SUNDAY'
или
TRIM(TO_CHAR(sysdate-1, 'DAY', 'NLS_DATE_LANGUAGE = American')) = 'SUNDAY'