oracle ORA-00932:不一致的数据类型:预期的数字得到了CHAR

rqdpfwrv  于 2023-04-05  发布在  Oracle
关注(0)|答案(1)|浏览(571)

如果重量〉0,则舍入((重量/功率((高度/100),2)),3),否则''结束
ORA-00932:不一致的数据类型:预期的数字得到CHAR 00932.00000-“不一致的数据类型:预期的%s得到了%s”
如何将权重列转换为数字
需要将重量列转换为字符
tried to_char仍然相同的错误

zysjyyx4

zysjyyx41#

THEN子句返回Number,ELSE返回''。这是冲突。CASE表达式返回的值必须具有相同的数据类型。如果您尝试不使用ELSE(如下),则如果条件不满足,则结果将为Null,并且可以通过Nvl()或Coalesce()函数或任何其他方式管理null(如果需要):

CASE WHEN WEIGHT > 0 THEN ROUND((WEIGHT/ POWER((HEIGHT/100),2)),3) END

如果WEIGHT列是字符型的,则使用To_Number() function.进行转换

相关问题