oracleのtonumber関数の使用方法を教えてください
OracleのTO_NUMBER 関数は、文字列データを数値データに変換します。構文は以下のとおりです。
char 型から数値に変換する:TONUMBER(char, [書式マスク], [NLS 言語])
パラメータの説明:
- char:変換する必要がある文字型データ。
- 変換形式を指定します(省略可能)。数字書式モデル要素、日付書式モデル要素、通貨書式モデル要素、文字書式モデル要素などを指定できます。
- nls_language(オプション): コンバージョン時に使用するロケールを指定します。
ネイティブな日本語で言い換えると:
- 文字型データの数値型データへの変換はデフォルトの形式で実行されます。
SELECT TONUMBER(‘1234.56’) FROM DUAL;
結果は1234.56
- 文字型データを数値型データに変換するメソッドを使用します。
DUAL から ‘999G999D99’ に ‘1,234.56’ を変換して SELECT する。
結果は1234.56となりました。
- 特定の書式やロケールを使用して文字列データを数値データに変換する
SELECT TO_NUMBER(‘1234,56’, ‘999G999D99’, ‘NLS_NUMERIC_CHARACTERS=”.,”’) FROM DUAL;
結果でるは 1234.56
TONUMBER関数を利用する際には、引数の正当性とフォーマットの一致に注意が必要です。これにより、変換エラーや異常を回避できます。