to_number()函式也是oracle中常用的類型轉換函式之一,是將一些處理過的按一定格式編排過的字元串變回數值型的格式。
基本介紹
- 中文名:to_number()函式
- 屬性:函式
- 套用:oracle
- 作用:類型轉換函式
函式用法
to_number(char [,fmt [,nlsparam] ])
該函式是將一個字元串所包含的數據轉化為NUMBER型數據。
其中char是待轉換的字元串,fmt指定待轉換字元串的匹配規則,nlsparam參數用於指定所用語言種類等。
char的形式可為任何支持格式的字元串,如money型的字元串:$120,111.0023,23,000,000等。
fmt 是待轉化的數據的匹配模式字元串,由於fmt種類比較多,大家可以到Xpert上面搜尋to_number,就不在這裡一一羅列,在這裡只總結該講述並未提及所給的fmt (format model)的所能匹配的值的範圍——fmt的長度決定該函式所能匹配的字元串的最大值,否則會拋出-6502 numeric or value error 異常。
即當9,999類型的字元串,如果你給的fmt字元串為'9,999',那么它所能匹配的字元串的最大值為9999,當數值超過該值時,如10000,那么將會得到-6502 異常,所以當對匹配數據沒有對值大小限制的時候,如沒有所匹配的結果值必須小於10000限制,fmt最好為所能預見的最大值的匹配模式,如'999,999,999,999,999',這樣能避免一些不必要的bug。