当前位置: 首页 > 面试题库 >

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

洪研
2023-03-14
问题内容

遇到错误

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

问题答案:

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

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


 类似资料: