Существует два решения:
- Префикс форматирования в режиме заполнения ('
FM
'), который подавляет дополнительный префикс пустого символа для преобразования числа to_char
.Я предлагаю этот вариант предпочтительнее, поскольку он интегрирован с форматом to_char и не требует дополнительного вызова функции; LTRIM
возвращаемого значения из преобразования to_char
.
В приведенном ниже коде показаны результаты обоих решений:
Select concat('NTA', to_char(1,'FM0000000000000')),
concat('NTA', ltrim(to_char(1,'0000000000000'))),
concat('NTA', to_char(1,'0000000000000'))
from dual;
"CONCAT('NTA',TO_CHAR(1,'FM0000000000000'))"
: "NTA0000000000001" "CONCAT('NTA',LTRIM(TO_CHAR(1,'0000000000000')))"
: "NTA0000000000001" "CONCAT('NTA',TO_CHAR(1,'0000000000000'))"
: "NTA 0000000000001"