39
Tôi có một bảng sau đây projects
.Cách thêm số ngày trong datetime postgresql
id title created_at claim_window
1 Project One 2012-05-08 13:50:09.924437 5
2 Project Two 2012-06-01 13:50:09.924437 10
A) Tôi muốn tìm thời hạn với phép tính deadline = created_at + claim_window(No. of days)
.
Thứ gì đó như sau.
id title created_at claim_window deadline
1 Project One 2012-05-08 13:50:09.924437 5 2012-05-13 13:50:09.924437
2 Project Two 2012-06-01 13:50:09.924437 10 2012-06-11 13:50:09.924437
B] Tôi cũng muốn tìm các dự án có thời hạn đã biến mất
id title created_at claim_window deadline
1 Project One 2012-05-08 13:50:09.924437 5 2012-05-13 13:50:09.924437
tôi cố gắng một cái gì đó như sau.
SELECT * FROM "projects" WHERE (DATE_PART('day', now()- created_at) >= (claim_window+1))
Nhưng vì lý do nào đó, nó không hoạt động.
nhưng thêm một vấn đề là xảy ra created_at tôi có datatype 'timestamp mà không cần thời gian zone' AND current_timestamp có kiểu dữ liệu 'dấu thời gian với múi giờ', do đó tôi không nhận được câu trả lời đúng – Salil
@Salil:' LOCALTIMESTAMP' là dấu thời gian không có múi giờ –
@Salil: Nó cũng không quan trọng, kết quả sẽ là giống với 'timestamp' hoặc' timestamptz', như l ong như dữ liệu được đề cập đến cùng một điểm trong thời gian. Thêm một ngày có tác dụng tương tự trên cả hai. –