ablog

不器用で落着きのない技術者のメモ

TO_CHAR を使ってゼロ埋めすると頭にスペースが入る

Oracle で TO_CHAR を使って数値を前ゼロ埋めにしようと思ったら、

SQL> select 'USER'||to_char(1, '00') name  from dual;

NAME
-------
USER 01

頭にスペースが入った。。。

SQL> select 'USER'||to_char(1, 'FM00') name from dual;

NAME
-------
USER01

書式を'FM00'としてやるとスペースが入らなくなった。
書式が'00'の場合のスペースは符号部分でプラスの場合はスペース、マイナスの場合は「-」になる。

SQL> select 'USER'||to_char(-1, '00') name from dual;

NAME
-------
USER-01


[参考]
書式モデル(数値) - オラクル・Oracleをマスターするための基本と仕組み
Oracle SQLの基本要素