oracleのtonumber関数の使用方法を教えてください

OracleのTO_NUMBER 関数は、文字列データを数値データに変換します。構文は以下のとおりです。

char 型から数値に変換する:TONUMBER(char, [書式マスク], [NLS 言語])

パラメータの説明:

  1. char:変換する必要がある文字型データ。
  2. 変換形式を指定します(省略可能)。数字書式モデル要素、日付書式モデル要素、通貨書式モデル要素、文字書式モデル要素などを指定できます。
  3. nls_language(オプション): コンバージョン時に使用するロケールを指定します。

ネイティブな日本語で言い換えると:

  1. 文字型データの数値型データへの変換はデフォルトの形式で実行されます。

SELECT TONUMBER(‘1234.56’) FROM DUAL;

結果は1234.56

  1. 文字型データを数値型データに変換するメソッドを使用します。

DUAL から ‘999G999D99’ に ‘1,234.56’ を変換して SELECT する。

結果は1234.56となりました。

  1. 特定の書式やロケールを使用して文字列データを数値データに変換する

SELECT TO_NUMBER(‘1234,56’, ‘999G999D99’, ‘NLS_NUMERIC_CHARACTERS=”.,”’) FROM DUAL;

結果でるは 1234.56

TONUMBER関数を利用する際には、引数の正当性とフォーマットの一致に注意が必要です。これにより、変換エラーや異常を回避できます。

bannerAds