Oracle查询语句报ORA-01772: 无效数字

  1. 所需字段类型为数字:
select first_minute from bphs.GW_PREGNANT; -- 其中"first_minute"字段的类型为:number
  1. 想在目标字段值为空时,用指定字符代替,此时会报错“ORA-01772: 无效数字”:
select nvl(first_minute, 'aa') from bphs.GW_PREGNANT; -- ORA-01772: 无效数字
  1. 解决方法有两种,一种是将替换字符的字面值改为数字型,第二种是用to_char函数对原字段值进行转换:
select nvl(first_minute, '99') from bphs.GW_PREGNANT; -- 成功执行
select nvl(to_char(first_minute), 'aa') from bphs.GW_PREGNANT; -- 成功执行�
  1. 其实,在写入数据时,数据值与字段类型不匹配,也会报这个错
posted @ 2023-04-27 17:13  JaxYoun  阅读(1475)  评论(0编辑  收藏  举报