最近由于业务需要,将某个字段的值(Varchar2类型)转换成数字。
由于原始数据比较乱,在将该字段直接转换成数字时,由于存在非数字字符(英文字母、汉语),直接转换时,转换失败。
因此需要将这些字段值转换成0,将其他正常数字进行正常转换,简单范例如下:
SELECT A1,A2, ……, case when regexp_replace(XXX,'[0-9,.]', '') IS NULL then to_number(XXX) else 0 end AS XXX
最近由于业务需要,将某个字段的值(Varchar2类型)转换成数字。
由于原始数据比较乱,在将该字段直接转换成数字时,由于存在非数字字符(英文字母、汉语),直接转换时,转换失败。
因此需要将这些字段值转换成0,将其他正常数字进行正常转换,简单范例如下:
SELECT A1,A2, ……, case when regexp_replace(XXX,'[0-9,.]', '') IS NULL then to_number(XXX) else 0 end AS XXX