ORACLE MASTER Silver SQLを勉強中に見つけた、実務で使えるもの投稿していく。投稿の練習です。
☆このページでできること
→「123」を「00123」に変換する
方法① LPAD 文字型→文字型
方法② TO_CHAR 数値型→文字型
①LPAD(文字列,桁数,埋める文字)
書き方
SELECT LPAD('123',5,'0') FROM dual
結果
「00123」
☆右側への埋め込みも可
lpad
:文字列の左側に文字を埋め込む
rpad
:文字列の右側に文字を埋め込む
☆他の文字の埋め込みも可
例:「ABCDE」を「ABCDE*****」
SELECT RPAD('ABCDE',10,'*') FROM dual
結果
「ABCDE*****」
☆埋める文字を省略すると、空白が埋め込まれる
例:「abc」を「 abc」
SELECT RPAD('abc',7) FROM dual
結果
「 abc」
②TO_CHAR(数値,数値書式)
書き方
SELECT TO_CHAR(123,09999) FROM dual
結果
「00123」
☆数値書式で使用できる主な数値の書式要素
書式要素 | 説明 | 例 | 結果例 |
---|---|---|---|
9 | 9の数が有効な桁数を表す | 999999 | 12345 |
0 | 桁数に満たない場合、先頭にゼロを付けた数値を表す | 099999 | 012345 |
$ | $記号を数値の前に付けて表す | $99999 | $12345 |
L | ローカル記号を数値の前に付けて表す | L99999 | ¥12345 |
C | 指定した位置にISO通貨記号を付けて表す | C99999 | JPY12345 |
D | 指定した位置に小数点を付けて表す | 999D999 | 12.345 |
. | 指定した位置に小数点を付けて表す | 999.999 | 12.345 |
G | 指定した位置に桁区切りを付けて表す | 99G999 | 12,345 |
, | 指定した位置に桁区切りを付けて表す | 99,999 | 12,345 |