Я использовал этот запросИспользуйте случай, когда оператор с Sql
SELECT nvl(round(sum(PAP.QTY_PLAN_ANPLN)/1000), 0) PRODUCTION
FROM PPC_ANNUAL_PLANS PAP
WHERE PAP.MAAST_ASSET_ID IN('35390','35392')
Заменить where
положение с этим кодом
PAP.MAAST_ASSET_ID in (CASE
WHEN 'DRI' = 'RMP'
THEN '2242'
WHEN 'DRI' = 'DRI'
THEN '35390,35392'
WHEN 'DRI' = 'SMP'
THEN '2241'
END)
Oracle бросить эту ошибку
ORA-01722: неправильный номер
Каково решение этой проблемы?
'' 35390,35392'' будет рассматриваться как строка, а не как список чисел, как вы ожидаете. Я предполагаю утверждение case, если только для примера. Поскольку это просто постоянное сравнение с постоянным ... –
Это хороший вопрос: D –
Условия вашего дела постоянны - он всегда будет выбирать второй. – Bohemian