我的products表是有空值的但是在使用NVL是就报错,请问是怎么回事?
解决方案 »
- PL/SQl 统计最近七天内的数据
- 关于ORACLE优化方面问题
- 请教Oracle大字段数据的迁移问题
- 同一数据库两个不同用户的数据插入
- 关于Pl/sql Developer测试的问题
- oracle 中 GROUP BY 必须跟select中用到的所有字段?那么。。。
- 一个对大家再也简单不过的问题了!!
- 一条sql语句,以及sqlplus该如何用?急!急!急!!!!!!
- oracle客户端问题!~高手救救我吧!~
- 存储过程中的输入参数指定了默认值,使用DBMS_SCHEDULER调用时不能直接使用默认值???
- 我用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;