В числах нет ведущих нулей. 0480
- это точно то же число, что и 480
- точно так же, как 00000001
- это точно такое же число, как 1
Единственный способ получить ведущие нули - это преобразовать число в строку и добавьте желаемое количество начальных нулей.
некоторые выходы функции to_char, немного сбивает с толку?
Нет, совсем нет.
to_char(0480,'9999')
преобразует число 480
в строку из 4 символов. 9
указывает, что если для этого di git нет значения, его можно «отбросить».
Цитата из руководства
9 - позиция di git (можно отбросить если несущественно )
0 - позиция di git ( не будет отброшено , даже если незначительно)
Начальные нули всегда не имеют значения (с математической точки зрения).
to_char(480,'0000')
сделает то, что вы ожидаете: строка из четырех di git с начальным нулем. Точно так же to_char(1,'0000')
вернет 0001
.
Обратите внимание, что по умолчанию весь вывод to_char()
выровнен по правому краю с ведущими пробелами. Если вы этого не хотите, вы должны использовать модификатор FM
: например, to_char(1,'FM0000')