oracle写的sql中求两个字段相减的问题

查询语句中要求出两个字段相减的值(nvl(t.nm_money_yc_total, 0) - nvl(t.yc_cw_jm, 0)) yc_real_total,但现在的问题是nm_money_yc_total和yc_cw_jm这两个字段的值有时不一定为空或为数字,有的可能含有中文或括号之类的,这种问题应该怎样解决

nvl2(translate(字段, '\1234567890', '\'), 'is characters', 'is number')
如果是字符返回:is characters
数字则返回:is number
用类似这样的方法先判断是否为数字,排除中文或者括号的情况,再判断空值置为0
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-16
如果为空的话给''值,减号不行的话用replace
第2个回答  2011-02-16
两个时间相减如何返回年数、月数、天数 --MONTHS_BETWEEN(date2,date1) 给出date2-date1的月份 SQL
相似回答