PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Hai câu hỏi để định dạng dấu thời gian và số bằng postgresql

Có vẻ như các hàm to_timestamp()to_char() Rất tiếc là không hoàn hảo. Nếu bạn không thể tìm thấy bất kỳ điều gì tốt hơn, hãy sử dụng các giải pháp thay thế sau:

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)

Xem thêm: Cách xóa dấu chấm trong to_char nếu số là số nguyên



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mô hình hóa các đối tượng lớn của PostgreSQL trong Rails

  2. Hợp nhất các hàng postgres và thay thế các giá trị bằng giá trị mới nhất khi không rỗng

  3. Postgres:Riêng biệt nhưng chỉ dành cho một cột

  4. PostgreSQL Lưu và chọn tệp bằng dữ liệu nhị phân Bytea với C libpq

  5. Truy cập máy chủ PostgreSQL từ mạng LAN