使用NVL函数报错

eminem123 2012-12-19 06:52:25
我的products表是有空值的

但是在使用NVL是就报错,请问是怎么回事?
...全文
429 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
睡在云端的猪 2012-12-20
  • 打赏
  • 举报
回复
CMD面板下面有错误提示的invalid number,无效的数字。 说明你使用NVL函数的时候给定的默认值类型,与product_type_id不匹配了。 而你给出的恰恰是不匹配的值'no id'字符类型。所以才出错! 看你写的查询语句应该也是无实际意义的,你可以修改当product_type_id为null时,让默认值为一个任意NUMBER类型的数值。 如: SELECT NVL(product_type_id, 0), name FROM products;
善若止水 2012-12-20
  • 打赏
  • 举报
回复
支持2楼的见解
sky_08_06_02 2012-12-20
  • 打赏
  • 举报
回复
各楼的都是正解,呵呵
zhujianxi 2012-12-19
  • 打赏
  • 举报
回复
select nvl(null ,'ccc') from dual; select nvl('1' ,'c cc') from dual;红字处为字符串。
yinan9 2012-12-19
  • 打赏
  • 举报
回复
NVL(product_type_id,-999) 我们在开发中,如果遇到数值类型为null,一般都给-999 当然首先考虑当前需求
呵呵112123 2012-12-19
  • 打赏
  • 举报
回复
同上 product_type_id是number类型,NVL(product_type_id,数值)就可以了啊
pengderun 2012-12-19
  • 打赏
  • 举报
回复
你的product_type_id是number类型,不是字符串
pengderun 2012-12-19
  • 打赏
  • 举报
回复
'No Id'改成整数
renfengjun 2012-12-19
  • 打赏
  • 举报
回复
改成nvl(product_type_id||'' ,'No id')

17,380

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧