Rafał Mieszkowski

Rafał Mieszkowski Student, Wojskowa
Akademia Techniczna

Temat: Formatowanie liczb

Witam,
Buduję raport i w danych w bazie mam ciągi kwot, które przez dostawę aplikacji przedstawiane są jako INT tylko bez separatora dziesiętnego, jak mam go wstawić tzn:

w bazie są dane:
13131313
14141414
11111
151515

a w wyniku chcę otrzymać:
131 313,13
141 414,14
111,11
1 515,15

Dzięki za pomoc

konto usunięte

Temat: Formatowanie liczb

Ja bym zrobił to tak:


WITH x AS (
SELECT * FROM
( VALUES (13131313),
(14141414),
(11111),
(151515)
) as t(n)
)
SELECT n number,
trim(to_char(n::decimal/100, '999 999 999 999,99')) formatted
FROM x;


number | formatted
----------+------------
13131313 | 131 313,13
14141414 | 141 414,14
11111 | 111,11
151515 | 1 515,15
(4 rows)
Ten post został edytowany przez Autora dnia 01.04.17 o godzinie 23:13
Marcin Miga

Marcin Miga Programista. Po
prostu programista.

Temat: Formatowanie liczb

Widzę, że Szymon edytował posta...
Chyba dodał Trim. Bo trzeba dodać, że niestety TO_CHAR dodaje na początku spację. co jest strasznie wkurzające..

konto usunięte

Temat: Formatowanie liczb

Marcin M.:
Widzę, że Szymon edytował posta...
Chyba dodał Trim. Bo trzeba dodać, że niestety TO_CHAR dodaje na początku spację. co jest strasznie wkurzające..

Nie, zmieniłem kropkę na przecinek w formacie. A trim, owszem, jest potrzebne. Gorzej jak ktoś wrzuci w to napisałem liczbę większą od formatu :).

Następna dyskusja:

Formatowanie rozmiaru liczb...




Wyślij zaproszenie do