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

Cách chuyển đổi thời gian thành ngày tháng trong múi giờ địa phương trong khi truy vấn

Cuối cùng thì nó cũng hoạt động được! Không đẹp lắm (và tôi hy vọng có một giải pháp sạch hơn) nhưng điều này đã hiệu quả:

>> Payment.all(:conditions => 
              ["Date((payments.created_at at time zone 'UTC') 
                at time zone :timezone) >= :start_date and 
                Date((payments.created_at at time zone 'UTC') 
                at time zone :timezone) <= :end_date",
               :start_date => start_date, :end_date => end_date, 
               :timezone => 'Asia/Katmandu'])

Tuy nhiên, không thực sự thích phải làm điều này:

Date((payments.created_at at time zone 'UTC') at time zone 'Asia/Katmandu')

Tại sao postgresql không cho phép bạn làm điều này?

Date(payments.created_at at 'Asia/Katmandu')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách thiết lập kết nối từ xa với PostgreSQL

  2. PostgreSQL:Sửa đổi CHỦ SỞ HỮU trên tất cả các bảng đồng thời trong PostgreSQL

  3. Postgresql chọn cho đến khi đạt được tổng số tiền nhất định

  4. cách nhập tệp dữ liệu từ s3 sang rds postgresql

  5. PostgreSQL nextval và currval trong cùng một truy vấn