【Oracle】文字列を数値変換する方法

Oracle

Oracleデータベース歴18年の株信です。

文字列を数値変換する方法について解説します。

結論 : TO_NUMBER関数

TO_NUMBER(文字列,[数値書式]) で使えば変換できます。
※数値フォーマットは書式指定したい時だけ必要です。

使い方①:文字列そのままの場合

select TO_NUMBER('1023.65') from dual;

結果は、そのまま 1023.65 になります。

使い方②:書式を指定する場合

select TO_NUMBER('102365','9999.99') from dual;

元の’102365’→小数点を含み1023.65 になります。

注意する事

①カンマ区切りの記号があるときは指定

select TO_NUMBER('1023,65') from dual;            --NG
select TO_NUMBER('1023,65','9999G99') from dual;  --OK

結果 102365 になります。

②¥マーク記号がある場合

select TO_NUMBER('¥1023,65') from dual;            --NG
select TO_NUMBER('¥1023,65','L9999G99') from dual;  --OK

結果 102365 になります。

コメント

タイトルとURLをコピーしました