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

Presto SQL:Thay đổi múi giờ bằng cách sử dụng chuỗi múi giờ do truy vấn không hoạt động

AT TIME ZONE chỉ chấp nhận theo nghĩa đen hoặc khoảng thời gian.

Presto 320 thêm with_timezone (cho timestamp giá trị) at_timezone (cho timestamp with time zone giá trị) chính xác cho mục đích này.

Nếu bạn đang sử dụng phiên bản Presto cũ hơn (chẳng hạn như Athena tính đến thời điểm viết bài này), bạn có thể sử dụng cách giải quyết sau. Bạn có thể truyền giá trị dấu thời gian của mình thành varchar , nối với múi giờ và truyền tới timestamp with time zone .

presto> select cast(cast(t as varchar) || ' ' || zone as timestamp with time zone)
  from (values (timestamp '2017-06-01 12:34:56.789', 'US/Pacific')) x(t, zone);
                    _col0
---------------------------------------------
 2017-06-01 12:34:56.789 America/Los_Angeles
(1 row)

(Lưu ý:đã thử nghiệm trên Presto 320. Nếu điều này chưa hoạt động trên Athena, hãy cho tôi biết.)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. date_sub ok với mysql, ko với postgresql

  2. cột users.id phải xuất hiện trong mệnh đề GROUP BY hoặc được sử dụng trong một hàm tổng hợp

  3. Có phải tất cả các nhóm đều có tổng lũy ​​thừa bằng nhau cho nhóm con đã cho không?

  4. Kết nối máy chủ nội bộ Postgresql - Kết nối bị từ chối

  5. Để cập nhật một số hàng không trùng lặp cùng một lúc bằng cách sử dụng Nhóm theo