У нас есть новый программный пакет, который позволяет компании писать код SQL для размещения на порталах запросов. У нас есть несколько отчетов, которые мы хотим закодировать, используя предыдущий день как один из вариантов. Если отчет запускается в понедельник, мы хотим автоматически выбрать предыдущую пятницу в качестве даты выбора. У нас есть ORACLE SQL DEVELOPER 4.1. Код, который мы пытаемся использовать, указан ниже:
SELECT ALERT_CD,ALERT_KEY,CHG_DTM,
CASE
WHEN TO_CHAR(SYSDATE,'fmday')='sunday'
THEN SYSDATE-2
WHEN TO_CHAR(SYSDATE,'fmday')='monday'
THEN SYSDATE-3
ELSE SYSDATE-1
END "change"
FROM SG00400T
WHERE ALERT_CD='AUTO'
and CHG_DTM >= to_date('SYSDATE', 'mm/dd/yyyy')
Ошибка, которую мы получаем:
ORA-01858: a non-numeric character was found where a numeric was expected
01858. 00000 - "a non-numeric character was found where a numeric was expected"
*Cause: The input data to be converted using a date format model was
incorrect. The input data did not contain a number where a number was
required by the format model.
*Action: Fix the input data or the date format model to make sure the
elements match in number and type. Then retry the operation.
CHG_DTM - это поле даты / времени, которое может быть частью проблемы, которую мы до конца не понимаем.
Любая помощь будет принята с благодарностью.