|
Как заставить выводить числа меньше единицы с нулем впереди?
|
|||
---|---|---|---|
#18+
Как заставить выводить числа меньше единицы с нулем впереди? Чтобы результат был например 0,5 а не ,5 ? И в то же время целые выводить как целые? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2004, 14:32 |
|
Как заставить выводить числа меньше единицы с нулем впереди?
|
|||
---|---|---|---|
#18+
TO_CHAR с маской форматирования 4ex: to_char(myvar, '9990,999') ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2004, 14:36 |
|
Как заставить выводить числа меньше единицы с нулем впереди?
|
|||
---|---|---|---|
#18+
to_char(myvar, '9990 .[\b]999') ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2004, 14:38 |
|
Как заставить выводить числа меньше единицы с нулем впереди?
|
|||
---|---|---|---|
#18+
Дело в том, что мне не нужен жесткий формат. Интересует на уровне сервера это можно как-нибудь решить? Чтобы, например Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2004, 15:19 |
|
Как заставить выводить числа меньше единицы с нулем впереди?
|
|||
---|---|---|---|
#18+
В любом случае придется задавать маску. Если используеш sqlplus, то Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2004, 15:22 |
|
Как заставить выводить числа меньше единицы с нулем впереди?
|
|||
---|---|---|---|
#18+
Вот наиболее универсальное решение для заданного вопроса: CREATE OR REPLACE FUNCTION NUM_TO_CHAR(p_number IN NUMBER, p_decimal_places IN NUMBER DEFAULT 3) RETURN VARCHAR2 IS p_number2 NUMBER; p_number3 NUMBER; p_mask VARCHAR2(1000):='0'; BEGIN p_number3:=ABS(ROUND(p_number,0)); IF (p_number3>9) THEN FOR i IN 1..(LENGTH(TO_CHAR(p_number3))-1) LOOP p_mask := '9'||p_mask; END LOOP; END IF; p_number2:=ROUND(p_number,p_decimal_places); IF (p_decimal_places>0) THEN p_mask:=p_mask||'.'; FOR i IN 1..p_decimal_places LOOP p_mask := p_mask||'9'; END LOOP; END IF; RETURN trim(to_char(p_number2, p_mask)); EXCEPTION WHEN OTHERS THEN RETURN '0'; END NUM_TO_CHAR; / ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 13:35 |
|
Как заставить выводить числа меньше единицы с нулем впереди?
|
|||
---|---|---|---|
#18+
e.rassadnikov Вот наиболее универсальное решение для заданного вопроса: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
Что это было? зачем велосипед, который придется тащить и что не хватает в штатных Number Format Models p.s. памятка: Как мне оформить свое сообщение? HOWTO :: Как правильно задавать вопросы Студентам, желающим помощи ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 15:02 |
|
Как заставить выводить числа меньше единицы с нулем впереди?
|
|||
---|---|---|---|
#18+
e.rassadnikov Вот наиболее универсальное решение для заданного вопроса: CREATE OR REPLACE FUNCTION NUM_TO_CHAR(p_number IN NUMBER, p_decimal_places IN NUMBER DEFAULT 3) RETURN VARCHAR2 IS p_number2 NUMBER; p_number3 NUMBER; p_mask VARCHAR2(1000):='0'; BEGIN p_number3:=ABS(ROUND(p_number,0)); IF (p_number3>9) THEN FOR i IN 1..(LENGTH(TO_CHAR(p_number3))-1) LOOP p_mask := '9'||p_mask; END LOOP; END IF; p_number2:=ROUND(p_number,p_decimal_places); IF (p_decimal_places>0) THEN p_mask:=p_mask||'.'; FOR i IN 1..p_decimal_places LOOP p_mask := p_mask||'9'; END LOOP; END IF; RETURN trim(to_char(p_number2, p_mask)); EXCEPTION WHEN OTHERS THEN RETURN '0'; END NUM_TO_CHAR; / Грёбаный экибастуз! через 18 лет нашел решение! Респектище ! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 15:04 |
|
Как заставить выводить числа меньше единицы с нулем впереди?
|
|||
---|---|---|---|
#18+
интересно, -5 (минус 5) меньше единицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 18:15 |
|
Как заставить выводить числа меньше единицы с нулем впереди?
|
|||
---|---|---|---|
#18+
Ролг Хупин Грёбаный экибастуз! через 18 лет нашел решение! Респектище ! + Это наверное рекорд по некропостингу/археологии)) Предлагаю ответить еще на https://www.sql.ru/forum/6218/vremenn-e-tablic-i-select а то вдруг автор там мучается почти со времен создания скуля. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 18:36 |
|
|
start [/forum/topic.php?desktop=1&fid=52&tid=1879582]: |
0ms |
get settings: |
13ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
313ms |
get tp. blocked users: |
2ms |
others: | 376ms |
total: | 798ms |
0 / 0 |