PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Dua pertanyaan untuk memformat stempel waktu dan nomor menggunakan postgresql

Tampaknya fungsi to_timestamp() dan to_char() sayangnya tidak sempurna. Jika Anda tidak dapat menemukan yang lebih baik, gunakan solusi berikut:

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)

Lihat juga:Cara menghilangkan titik di to_char jika bilangan bulat



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menggabungkan string bidang string dalam kueri 'grup menurut' PostgreSQL?

  2. Driver HikariCP Postgresql Mengklaim tidak menerima URL JDBC

  3. Bagaimana cara mengubah kepemilikan beberapa tabel di dalam database dari postgres ke pengguna lain?

  4. Nilai nol tidak unik

  5. Perbarui catatan yang memenuhi kondisi dengan angka yang bertambah