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"