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 になります。
コメント