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

Kết quả không mong muốn từ truy vấn SQL với GIỮA dấu thời gian

Kiểm tra loại dữ liệu trong số các cột và múi giờ của bạn . Bạn có thể nhầm lẫn timestamp with time zone timestamp .

Có vẻ như bạn có timestamp trong bảng của bạn, nhưng truy vấn bằng timestamptz . Bằng cách này, tất cả phụ thuộc vào múi giờ địa phương trong phiên của bạn (mặc định là múi giờ của máy chủ nếu không được chỉ định khác.)

Chuyển cả hai sang timestamptz hoặc timestamp nếu múi giờ hoàn toàn không liên quan đến bạn. (Nếu nghi ngờ, hãy sử dụng timestamptz .)

Không phải nguyên nhân gây ra sự cố của bạn, nhưng truy vấn của bạn có thể là:

SELECT id, text, category, starttime, endtime, creation 
FROM   entries 
WHERE  starttime >= timestamp '2013-03-21' -- defaults to 00:00 time
AND    starttime <  timestamp '2013-03-22'
ORDER  BY id

a BETWEEN x AND y hầu như luôn luôn sai cho timestamp loại do số phân số! Truy vấn của bạn sẽ làm gì với starttime = '2013-03-21T23:59:59.123+00' ?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL lấy tên những người không làm việc trong một dự án

  2. Cách kết nối với postgresql bằng url

  3. Kết nối Pyspark với cơ sở dữ liệu Postgres trong máy tính xách tay ipython

  4. Cách nhóm theo tuần trong postgresql

  5. Các hàm với số lượng tham số đầu vào thay đổi