文字列関数

[Oracle] 文字列関数 文字列の数値変換SQL(TO_NUMBER)

文字列の数値変換

数値のみの文字列の変換

文字列から数値へ変換するには、TO_NUMBER関数を使用します。

TO_NUMBER(文字列)

それではサンプルを見てみましょう。

文字列”10.1″を、数値に変換するSQLです。

上記を実行し、抽出された結果がこちらです。

TO_NUMBER(‘10.1’)
10.1

数値型の10.1へ変換されました。

 

文字列のフォーマットを指定して数値へ変換

引数に文字列のみを指定した場合、カンマや¥が含まれていた場合エラーとなります。
これを回避するためには、第2引数に文字列のフォーマットを指定します。

TO_NUMBER(文字列, フォーマット)

それではサンプルを見てみましょう。

カンマ付き文字列”1,000.1″を、数値に変換するSQLです。

上記を実行し、抽出された結果がこちらです。

TO_NUMBER(‘1,000.1’, ‘9,999.9’)
1000.1

数値型の1000.1へ変換されました。

これは「変換対象の文字列が整数部4桁かつ3桁ずつのカンマ区切りで、小数点以下第1位までを表していますよ」というのを関数に教えて、数値へ変換できるようにしているイメージです。
 
 
以上が、文字列を数値に変換する「TO_NUMBER」の使い方です。
ぜひ参考にしてみてください。