2013-09-18 4 views
1

У меня есть этот запрос, который я преобразовать его в десятичную, и я хочу иметь его с нулями в левой подушки она не дает мне выход, когда я запускаю этот запрос:добавляя нули к LPAD

SELECT LPAD(TO_CHAR(rlseamt,'9999999999999999999999D99'),12,'0') Transaction_Amount 
FROM ln01mast WHERE acno=214 
+0

LPAD с длиной аргументом 12 означает, что только часть, которая помещается в 12 символов будет возвращена. Непонятно, что вы действительно хотите вернуть; мы действительно были бы примерами десятичных значений, и именно возвращаемая символьная строка (например, когда десятичное значение составляет 16 цифр, является отрицательным и т. д.) – spencer7593

ответ

1

Вы ищете это? Выход

SELECT TO_CHAR(rlseamt,'000000000000D00') Transaction_Amount 
    FROM ln01mast 
WHERE acno = 214 

Пример:

 
| TRANSACTION_AMOUNT | 
|--------------------| 
| 000000002987.87 | 

Примечание: регулировать количество ведущих нулей по мере необходимости

или (на основе ваших комментариев)

SELECT '000000000000' || TO_CHAR(rlseamt,'FM99999999999999D99') Transaction_Amount 
    FROM ln01mast 
WHERE acno = 214 

Пример вывода:

 
| TRANSACTION_AMOUNT | 
|---------------------| 
| 0000000000002987.87 | 

Вот SQLFiddle демо

+0

ya, но я хочу, чтобы все нули с левой стороны (динамические) – user2786306

+0

Я хочу добавить 12 нулей рядом с номером безрезультатно, что число – user2786306

+0

Он показывает нули слева, но цифры десятичных знаков не показывают его, показывая как 0000000000001538595. – user2786306

Смежные вопросы