Oracle SQL CAS LORS de l'ORA-00932: incompatible types de données: attendu CHAR suis NUMÉRO 00932. 00000 - “incompatible types de données: taux de %s got %s”

Avoir d'erreur

ORA-00932: inconsistent datatypes: expected CHAR got NUMBER 00932. 00000 - "inconsistent datatypes: expected %s got %s"

Lorsque j'exécute la requête suivante

SELECT distinct 
CASE when t.cancelled = 'TRUE' then '0' 
else t.amount END AMOUNT,
FROM table t

Si je le lance avec un nombre ou du texte pour le reste de sortie, comme ça, ça fonctionne.

SELECT distinct 
CASE when t.cancelled = 'TRUE' then '0' 
else 'xxx' END AMOUNT,
FROM table t
  • Est t.montant d'un NOMBRE?
  • c'est un nombre oui
  • Dans ce cas, le convertir en un type char. (c'est à dire: SELECT ... else TO_CHAR(t_amount) ...)
  • ...ou de l'utilisation then 0 else
  • Grâce NullUser il a travaillé 🙂
InformationsquelleAutor Matt | 2014-10-31