ここでは数値を操作するSQL関数について紹介します。

数値を編集する

文字列を数値に変換する(TO_NUMBER関数)

SELECT TO_NUMBER('00123') FROM DUAL
--結果:123


書式を指定して文字列を数値に変換する(TO_NUMBER関数)

--書式の'9'は数値
SELECT TO_NUMBER('1234.56', '9999.99') FROM DUAL
--結果:1234.56

--書式の'L'は通貨記号、'G'は3桁区切り、'D'は小数点
SELECT TO_NUMBER('\1,234.56', 'L9G999D99') FROM DUAL
--結果:1234.56


数値を0埋めする(TO_CHAR関数)

--書式の'FM'は前後に空白を付けずに表示する
SELECT TO_CHAR(123, 'FM00000') FROM DUAL
--結果:00123


数値の書式

書式説明使用例
0該当する桁がなければ0を表示する。TO_CHAR(123, ‘00000’) 結果:00123
9該当する桁がなければブランクを表示する。TO_CHAR(123, ‘99999.99’) 結果: 123.00
D小数点を指定位置に表示する。TO_CHAR(123.00, ‘99999D99’) 結果: 123.00
S符号(+/-)を表示する。TO_CHAR(123.00, ‘S99999’) 結果: +123
Lローカル通貨記号を付けて表示する。TO_CHAR(123.00, ‘L99999’) 結果: \123
G3桁区切りで表示する。TO_CHAR(12345, ’99G999′) 結果: 12,345
FM前後に空白を付けずに表示するTO_CHAR(123, ‘FM00000’) 結果:00123


以上、数値を操作するSQL関数について解説しました。