Tôi có một mối quan hệ duy trì dữ liệu lịch sử hàng tháng. Dữ liệu này được thêm vào bảng vào ngày cuối cùng của mỗi tháng. Một dịch vụ tôi viết sau đó có thể được gọi là xác định một tháng và một số tháng trước đó để truy xuất dữ liệu lịch sử. Tôi đang làm điều này bằng cách tạo các biến startDate và endDate, sau đó trả về dữ liệu giữa hai biến. Vấn đề tôi gặp phải là startDate là một số biến của tháng trước endDate, và tôi không thể tìm ra cách sử dụng một khoảng thời gian biến trong một khoảng thời gian.Sử dụng một khoảng thời gian thay đổi trong một khoảng thời gian trong Postgres
Dưới đây là những gì tôi có:
DECLARE
endDate TIMESTAMP := (DATE_TRUNC('MONTH',$2) + INTERVAL '1 MONTH') - INTERVAL '1 DAY';
startDate TIMESTAMP := endDate - INTERVAL $3 'MONTH';
Tôi biết rằng dòng cho STARTDATE là không đúng. Làm thế nào là điều này đúng cách?
Điều này hoạt động hoàn hảo. Cảm ơn bạn vì sự giúp đỡ! – Belizzle
Hoặc: 'endDate - '1 mon' :: interval * $ 3' (ít casting & concatenating) –
Suy nghĩ song song :-) –