1. 程式人生 > >Oracle SQL將欄位所有的值轉換成數字(忽略不匹配的值)

Oracle SQL將欄位所有的值轉換成數字(忽略不匹配的值)

最近由於業務需要,將某個欄位的值(Varchar2型別)轉換成數字。

 由於原始資料比較亂,在將該欄位直接轉換成數字時,由於存在非數字字元(英文字母、漢語),直接轉換時,轉換失敗。

因此需要將這些欄位值轉換成0,將其他正常數字進行正常轉換,簡單範例如下:

SELECT A1,A2, ……, case when regexp_replace(XXX,'[0-9,.]', '') IS NULL then to_number(XXX) else 0 end AS XXX