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

postgresql date_trunc thành độ chính xác tùy ý?

Không có chức năng nào bạn muốn, nhưng như đã nói trong wiki postgresql, bạn có thể xác định chức năng cho chính mình:

CREATE OR REPLACE FUNCTION round_time_10m(TIMESTAMP WITH TIME ZONE) 
RETURNS TIMESTAMP WITH TIME ZONE AS $$ 
  SELECT date_trunc('hour', $1) + INTERVAL '10 min' * ROUND(date_part('minute', $1) / 10.0) 
$$ LANGUAGE SQL;

Nói chung làm tròn lên đến $ 2 phút:

CREATE OR REPLACE FUNCTION round_time_nm(TIMESTAMP WITH TIME ZONE, INTEGER) 
RETURNS TIMESTAMP WITH TIME ZONE AS $$ 
  SELECT date_trunc('hour', $1) + ($2 || ' min')::INTERVAL * ROUND(date_part('minute', $1) / $2) 
$$ LANGUAGE SQL;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Psql liệt kê tất cả các bảng

  2. Cách tạm dừng việc thực thi một câu lệnh trong PostgreSQL

  3. Đo lường thống kê điểm kiểm tra PostgreSQL

  4. Không tìm thấy ngôn ngữ thủ tục PostgreSQL C

  5. Làm cách nào để tắt tạm thời các trình kích hoạt trong PostgreSQL?