oracle中的零填充to_char

时间:2017-05-24 06:37:10

标签: oracle

给出

to_char(myVariable, '00')

我得到以下行为:

1 -> 01
10 -> 10
100 -> ###

如何用0填充一位数字,但仍能显示100? 这就是我想要获得的:

1 -> 01
10 -> 10
100 -> 100

2 个答案:

答案 0 :(得分:2)

select to_char(1,'FM900'),to_char(10,'FM900'),to_char(100,'FM900'),to_char(100,'FM900'),to_char(1000,'FM900')   from dual;

如果您需要更长的数字,请添加更多9

答案 1 :(得分:0)

一种选择是使用有条件地填充单个数字的CASE表达式:

SELECT
    CASE WHEN myVariable < 10
         THEN TO_CHAR(myVariable, '00')
         ELSE TO_CHAR(myVariable) END AS output
FROM yourTable