Oracle將字串轉換為數字,並替換特殊字元

2021-07-07 10:20:43 字數 696 閱讀 2016

分類:

oracle(22)

oracle自帶有to_number函式,但需要說明的是這個函式只能轉換字串格式是正確數字的情況,

也就是一旦字串為空,或者有特殊字元,或者有空格等等,都會拋錯,以下提供一種方式成功解決以上問題:

to_number(decode(decode(

lower

(nvl(

replace

(translate(strtargetfield, 

'$%'

, ' '

),' ',''

),0)),

upper

(nvl(

replace

(translate(strtargetfield, 

'$%'

, ' '

),' ',''

),0)),1,0),

1,nvl(

replace

(translate(strtargetfield, 

'$%'

, ' '

),' ',''

),0),0)) numresult

需要指出的是,在nvl函式裡還用了translate函式來替換指定的特殊字元,因為我的這個例子中的字段有可能包含有百分號獲美元符號,對於這類字元我也認為是正確的值,所以需要先過濾掉這些符號然後再對剩下的部分進行數字轉換。

Oracle將字串轉換為數字

最近用到了將oracle資料庫中某個字元型別的字段值轉換為數字並儲存至另乙個新字段,oracle自帶有tonumber函式,但需要說明的是這個函式只能轉換字串格式是正確數字的情況,也就是一旦字串為空,或者有特殊字元,或者有空格等等,都會拋錯,以下提供一種方式成功解決以上問題 to number de...

將數字轉換為字串

在日常程式設計中,我們經常需要將各型別的數字轉換為字串,這裡介紹幾種簡單方法。本文沒有介紹轉換的具體演算法。1.使用巨集轉換常量數字為字串 定義如下的巨集 define to string x x 則在 中就可以將各種型別的數字轉換為字串。這個巨集可以將任意的 中的字串轉換為c語言風格的字串 例 t...

將數字字串轉換為數字

將數字字串轉換為數字的方法有多種,c中有atoi,atof,sscanf函式可用,這些函式的用法可以在msdn里查到,這裡就不在多說了,現在說一種通用的轉換的方法 template bool str2value const std string str,type value,std ios base...