Я пытаюсь создать предупреждение в моей системе с помощью приведенного ниже кода.Я попытался немного изменить его, но получаю ошибки или данные не возвращаются.
В своем утверждении select я вычислил разницу в днях с данными даты относительно sysdate.В моем предложении where я пытаюсь ограничить поступающие данные, используя оператор меньше или равный оператору.
SELECT A.COL_NAME AS "END OF SERVICE", B.DUSER AS "DATE",(TRUNC(B.DUSER) - TRUNC(SYSDATE))AS "DAYS LEFT"
FROM UD_COLS A LEFT OUTER JOIN UD_DATA B
ON A.ID = B.UD_COLS_ID
WHERE A.ID = 52 AND
('DAYS LEFT' <= 30)
Это приводит к ошибке: ORA-01722: недопустимый номер. Я попытался изменить выбранное, добавив TO_NUMBER (TRUNC (B.DUSER) - TRUNC (SYSDATE)) и по-прежнему получаю ту же ошибку.
Я также попытался перейти на ('DAYS LEFT' <= '30'), в котором я не получаю ошибок, но данные не возвращаются, как ожидалось.</p>
Без ('DAYS LEFT' <= 30) я вижу значение 1 в столбце "DAYS LEFT".Разве это не числовое значение?</p>
Если я использую оператор> =, данные заполняются независимо от значения.
Заранее спасибо.