思维方式
逻辑是,如果订单被取消,则返回0,否则返回欠款-支付价值
小查询
CASE WHEN d.cancelled = 'TRUE'
THEN '0'
ELSE (to_char(b.owed)) - (to_char(d.paid))
END AS balance,
获取错误
ORA-00932:不一致的数据类型:预期的字符数为00932。00000-“不一致的数据类型:预期的%s得到了%s”*原因:
*操作:第25行错误列:58
这将是一个数字,而0是一个字符串。您应该删除然后
子句中的勾号,或者删除else子句中的ad a to_char:to_char((to_char(b.owe))-(to_char(d.paid))
或者干脆(b.owe-d.paid)
试试这个,您的案例应该返回number或varchar,现在您的案例返回“0”作为varchar,否则返回number。两者都应返回varchar或都应返回数字。
当两者都返回varchar时
CASE WHEN d.cancelled = 'TRUE'
THEN '0'
ELSE to_char((to_char(b.owed)) - (to_char(d.paid)))
END AS balance,
或
当两者都返回号码时
CASE WHEN d.cancelled = 'TRUE'
THEN 0
ELSE (to_char(b.owed)) - (to_char(d.paid))
END AS balance,
或
当两者都返回号码时
CASE WHEN d.cancelled = 'TRUE'
THEN 0
ELSE (b.owed - d.paid)
END AS balance,
我正在user_views上运行一个查询。“TEXT”列是LONG数据类型的。所以,当我在where子句中使用该列时,我得到了预期的错误。 错误:ORA-00932:不一致的数据类型:预期数过长 查询是 这个怎么解决?
我有这个查询我试图运行,但我一直遇到这个错误。我正在尝试执行一个子句,将数据(BLOB列)与:var2(这是一个blob对象)进行比较。 这是我的密码。 对于为什么我会得到这个错误有什么建议吗? 我正在将与进行比较,这不是很好吗? 谢谢
我在ubuntu 14.04LTS上使用oracle 11g。我有一个名为成员的表,我由以下sql创建, 后来我更新了这个表格, 现在,当我运行“DESC members”时,它会显示结果, 最后,我运行了这样的插入sql, 它显示了错误, 第1行错误:ORA-00932:数据类型不一致:预期数字为二进制 有人能帮我解决问题吗?而且我也不确定在这个过程中我是否可以添加图像或路径的二进制文件。有人能
我试图使用Hibernate用Java映射Oracle数据库,但我面临一个问题。代码如下: Java应用程序: Hibernate配置文件: Hibernate场景表映射文件:
我刚刚将Spring MVC(3.2.8)应用程序从Ant迁移到Maven,所以我没有更改代码,只更改了库,因为会自动导入依赖项。从那时起,我有很多DB错误,例如ORA-00932、trnasaction超时...... 或者举个例子: 或这个: DB是: 这里是进口的hibertante罐。。。