Case Ausdruck funktioniert nicht richtig in SQL Query

Ich möchte Spalten von @ zusammenfasssupplier table mit Komma-Trennzeichen und in ein Alias-Feld mit dem Namen 'contact' einfügen. Ich habe Fälle zum Überprüfen von Nullwerten verwendet. Angenommen, wenncontact_number2 ist null danncontact_number3 befindet sich im Alias-Feld und umgekehrt. Hier ist meine Anfrage

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

Wenn ich die vierte Bedingung verwende, funktioniert sie, aber wenn ich mehrere Bedingungen verwende, funktioniert sie nicht. Der Fehler lautetORA-00932: inconsistent datatypes: expected NUMBER got CHAR 00932. 00000 - "inconsistent datatypes: expected %s got %s"

Antworten auf die Frage(8)

Ihre Antwort auf die Frage