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

Chuyển đổi múi giờ UTC trong postgresql thành EST (giờ địa phương)

Tại London, chúng tôi hiện đang đi trước UTC 1 giờ. Vì vậy - nếu tôi lấy múi giờ của bạn mà không có dấu thời gian và nói rằng đó là UTC, tôi sẽ in nó cho múi giờ địa phương của tôi.

richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC');
        timezone        
------------------------
 2015-10-24 17:38:46+01
(1 row)

Nhưng bạn muốn "EST" dường như ở đâu đó ở Châu Mỹ, đánh giá theo giá trị được trả về. Bạn có thể bọc biểu thức trong một hàm SQL nhỏ nếu bạn muốn.

richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC') AT TIME ZONE 'EST';
      timezone       
---------------------
 2015-10-24 11:38:46
(1 row)

Chỉnh sửa:cách thực hiện trong một truy vấn

SELECT ((stored_timestamp AT TIME ZONE 'UTC') AT TIME ZONE 'EST') AS local_timestamp
FROM my_table;

Bạn có thể sẽ muốn nhận một cuốn sách giới thiệu về SQL nếu điều này gây ra sự cố cho bạ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. GROUP BY trong Postgres - không bình đẳng cho kiểu dữ liệu JSON?

  2. Định cấu hình JPA / Hibernate / PostgreSQL mà không cần XML

  3. Tại sao KHÔNG NULL sai khi kiểm tra một loại hàng?

  4. to_sql + sqlalchemy + sao chép từ + công cụ postgresql?

  5. postgresql thiếu hỗ trợ cho các truy vấn tham số