检查表中因转换数字类型时出现 ORA-01722:invalid number 的方法

来源:互联网 发布:mac文件夹隐藏 编辑:程序博客网 时间:2024/05/16 15:45

经常会把存放数字的字符型列转换为数字的情况,但是经常会出现 转换失败的情况,即出现ORA-01722:invalid number 错误;现在用一个函数来检测:

假设需要把第一列转换为数字型的列

select   column_name1 , column_name2 ...... from test  t

where  trim(translate(t.column_name1,'0123456789','          ')) is not null;

这样就把那些不能转换为数字型的行找了出来;在此摘录一下 translate函数的用法:

语法:TRANSLATE(char, from, to)

用法:返回将出现在from中的每个字符替换为to中的相应字符以后的字符串。

若from比to字符串长,那么在from中比to中多出的字符将会被删除。

三个参数中有一个是空,返回值也将是空值。

 

 

SQL> SELECT TRANSLATE('2KRW229',

  2    '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',

  3    '9999999999XXXXXXXXXXXXXXXXXXXXXXXXXX') AS "License"

  4    FROM DUAL;

 

License

-------

9XXX999

 

某些情况下,要从一个字符串中,提取数字信息的,可以使用:

SQL> SELECT TRANSLATE('2KRW229',

  2    '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', '0123456789')

  3    AS "Translate example"

  4    FROM DUAL;

 

Tran

----

2229

 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小米6导航信号弱怎么办 麦多多充不了电怎么办 一加数据线坏了怎么办 小米耳机泡水了怎么办 公司拖欠工资公司破产了怎么办 苹果x外壳掉漆怎么办 手机壳按键很硬怎么办 棉质白衣服染色怎么办 白棉t恤混洗染色怎么办 包包被衣服染色了怎么办 白色衣服染了菜汁怎么办 一加3t屏幕刺眼怎么办 怀孕吃了好多杏怎么办 门破了个洞怎么办 钢圈轮毂刮花了怎么办 瓷砖用刀子划了怎么办 陶瓷洗手台裂了怎么办 洗车泵水管坏了怎么办 印胶浆里面渗入了发泡浆怎么办? 管子断在水管里怎么办 衣服上的织带缩水怎么办 真丝衣服拔缝了怎么办 顾客说衣服太花怎么办 铝和碱反应变黑怎么办 40度高温多肉怎么办 沾到医用蓝药水怎么办? 裤子弄上泡沫胶怎么办 苍蝇纸粘衣服上怎么办 苍蝇胶沾衣服上怎么办 灯带为什么不亮怎么办 苹果6比屏幕变黄怎么办 雷腾键盘锁了怎么办 自吸泵电机不转怎么办 孕38周胎儿偏小怎么办 被火烧黑的铁怎么办 锅被烟熏黑了怎么办 墙壁被烟熏黑了怎么办 壁纸被烟熏黑了怎么办 空调被烟熏黑了怎么办 牙被烟熏黑了怎么办 尖头鞋把尖折了怎么办