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