小编典典

Oracle SQL CASE ORA-00932时:数据类型不一致:预期的CHAR获得了数字00932. 00000-“不一致的数据类型:预期的%s获得了%s”。

sql

遇到错误

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

当我运行以下查询

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

如果我使用其他输出的数字或文本运行它,像这样,它就可以工作。

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

阅读 401

收藏
2021-04-22

共1个答案

小编典典

使用0代替'0'。金额是数字,数字不加引号。

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