PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Dwa pytania dotyczące formatowania znacznika czasu i liczby za pomocą postgresql

Wygląda na to, że funkcje to_timestamp() i to_char() niestety nie są idealne. Jeśli nie możesz znaleźć nic lepszego, skorzystaj z tych obejść:

with example_data(d) as (
    values ('2016-02-02')
    )
select d, d::timestamp || '.0' tstamp
from example_data;

     d      |        tstamp         
------------+-----------------------
 2016-02-02 | 2016-02-02 00:00:00.0
(1 row)

create function my_to_char(numeric)
returns text language sql as $$
    select case 
        when strpos($1::text, '.') = 0 then $1::text
        else rtrim($1::text, '.0')
    end
$$;

with example_data(n) as (
    values (100), (2.00), (3.34), (4.50))
select n::text, my_to_char(n)
from example_data;

  n   | my_to_char 
------+------------
 100  | 100
 2.00 | 2
 3.34 | 3.34
 4.50 | 4.5
(4 rows)

Zobacz też:Jak usunąć kropkę w to_char, jeśli liczba jest liczbą całkowitą



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. baza danych zmiany nazwy postgres nie działa

  2. Naprawa Postgresql po aktualizacji do OSX 10.7 Lion

  3. Optymalizacja zapytań Postgres (wymuszenie skanowania indeksu)

  4. Rails 4 Postgresql array-type:aktualizacja wartości

  5. Przyspieszyć plpgsql, który zlicza typy dokumentów w pętli?