今天在编写视图的时候遇到了“ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER”这个问题。
视图具体内容是:
CASE WHEN MONEY = 0 OR MONEY IS NULL THEN '0'
ELSE MONEY/REGCAPITAL END AS CONPROP;
后来百度过之后发现有类似错误的网友,多是返回值类型不同造成的,我检查了下第一个返回的是‘0’(char),而后来返回的是number,于是就出现错误。将引号去掉,即让第一种情况也返回number值,就可以了。
CASE WHEN MONEY = 0 OR MONEY IS NULL THEN 0
ELSE MONEY/REGCAPITAL END AS CONPROP;