使用NVL函数报错 我的products表是有空值的但是在使用NVL是就报错,请问是怎么回事? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的product_type_id是number类型,不是字符串 同上product_type_id是number类型,NVL(product_type_id,数值)就可以了啊 NVL(product_type_id,-999)我们在开发中,如果遇到数值类型为null,一般都给-999当然首先考虑当前需求 select nvl(null ,'ccc') from dual;select nvl('1' ,'c cc') from dual;红字处为字符串。 改成nvl(product_type_id||'' ,'No id') CMD面板下面有错误提示的invalid number,无效的数字。说明你使用NVL函数的时候给定的默认值类型,与product_type_id不匹配了。而你给出的恰恰是不匹配的值'no id'字符类型。所以才出错!看你写的查询语句应该也是无实际意义的,你可以修改当product_type_id为null时,让默认值为一个任意NUMBER类型的数值。如:SELECT NVL(product_type_id, 0), name FROM products; 安装第三方备份软件后 RMAN 错误:没有找到数据文件1的副本来还原 order by case ...end 语法是什么 SQL语句问题? 考考大家,给出一个最简单的条件语句SQL! 紧急招聘顶尖互联网公司DBA系列职位-TK China soft headhunting 如果保证数据库中的表不能够被删除? oracle9i 使用问题 大量数据插入数据库中的问题?? 关于回滚段的问题 请问Oracle中如何能判断源字符串类的数据是否能转换成数字 我用9i 32位的 exp命令导出了dmp文件,请问能导入到64位9ioracle数据库当中吗? drop table 个别表极慢
product_type_id是number类型,NVL(product_type_id,数值)就可以了啊
我们在开发中,如果遇到数值类型为null,一般都给-999
当然首先考虑当前需求
select nvl('1' ,'c cc') from dual;红字处为字符串。
说明你使用NVL函数的时候给定的默认值类型,与product_type_id不匹配了。
而你给出的恰恰是不匹配的值'no id'字符类型。所以才出错!
看你写的查询语句应该也是无实际意义的,你可以修改当product_type_id为null时,让默认值为一个任意NUMBER类型的数值。
如:
SELECT NVL(product_type_id, 0), name FROM products;