Выражение регистра не работает должным образом в запросе SQL

Я хочу объединить столбцыsupplier таблицу с разделителем запятых и поместите его в поле псевдонима с именем «контакт». Я использовал случаи для проверки нулевых значений. Предположим, еслиcontact_number2 тогда нольcontact_number3 будет в поле псевдонима и наоборот. Вот мой запрос

SELECT supplier_Name, supplier_Address, supplier_reference, contact_Number1,
       contact_number2, contact_number3,
      (case when contact_number2 is null then contact_number3 
            when contact_number3 is null then contact_number2 
            when contact_number3 is null and contact_number2 is null then 0
         -- when contact_number2 is not null and contact_number3 is not null then  CONCAT(CONCAT(contact_number2,','), contact_number3)
       end) as contact
FROM SUPPLIER

Если я использую четвертое условие, то оно работает, но если я использую несколько условий, то оно не работает. ОшибкаORA-00932: inconsistent datatypes: expected NUMBER got CHAR 00932. 00000 - "inconsistent datatypes: expected %s got %s"

Ответы на вопрос(4)

Ваш ответ на вопрос