Sử dụng INTERVAL
gõ vào nó. Ví dụ:
--yesterday
SELECT NOW() - INTERVAL '1 DAY';
--Unrelated: PostgreSQL also supports some interesting shortcuts:
SELECT
'yesterday'::TIMESTAMP,
'tomorrow'::TIMESTAMP,
'allballs'::TIME AS aka_midnight;
Sau đó, bạn có thể làm như sau:
SELECT
org_id,
count(accounts) AS COUNT,
((date_at) - INTERVAL '1 DAY') AS dateat
FROM
sourcetable
WHERE
date_at <= now() - INTERVAL '130 DAYS'
GROUP BY
org_id,
dateat;
LỜI KHUYÊN
Mẹo 1
Bạn có thể nối nhiều toán hạng. Ví dụ:làm thế nào để lấy ngày cuối cùng của tháng hiện tại?
SELECT date_trunc('MONTH', CURRENT_DATE) + INTERVAL '1 MONTH - 1 DAY';
Mẹo 2
Bạn cũng có thể tạo khoảng thời gian bằng cách sử dụng make_interval
, hữu ích khi bạn cần tạo nó trong thời gian chạy (không sử dụng các ký tự):
SELECT make_interval(days => 10 + 2);
SELECT make_interval(days => 1, hours => 2);
SELECT make_interval(0, 1, 0, 5, 0, 0, 0.0);
Thông tin thêm:
datatype-datetime (Giá trị đặc biệt) .