Как поставить определенное количество символов перед строкой в PL / SQL?
Я хочу исправить строку длиной до 20 символов после операции. Например, если моя строка 1455
тогда новая строка должна быть 00000000000000001455
(20 символов) с 16 0
с впереди. Или если моя строка 12345678
тогда новая строка должна быть 00000000000012345678
(20 символов) с 12 0
с впереди.
Я могу сделать это в пользовательской функции, но мне интересно, есть ли простой способ сделать это в Oracle? Я погуглил, но не смог найти аналогичного решения. Какие-либо предложения?
3 ответа
Решение
Ты можешь использовать LPAD()
:
SELECT LPAD('1455', 20, '0') FROM dual;
или вообще:
SELECT LPAD(mystring, 20, '0') FROM mytable;
Если длина mystring
больше 20 символов будет усечено до 20 символов (а не дополнено!).
Надеюсь это поможет.
Вы могли бы использовать TO_CHAR
:
SELECT TO_CHAR('1455', 'fm00000000000000000000') FROM dual;