此问题已在此处有答案:
How to calculate DATE Difference in PostgreSQL?(6个答案)
3天前关闭。
CREATE TABLE IF NOT EXISTS detailed(
customer_id smallint NOT NULL,
store_id smallint NOT NULL,
first_name varchar(45),
last_name varchar(45),
email varchar (50),
rental_id INTEGER NOT NULL,
rental_date timestamp without time ZONE,
inventory_id INTEGER NOT NULL
);
INSERT INTO detailed(
customer_id,store_id,first_name,last_name,email,rental_id,rental_date,inventory_id)
SELECT
customer.customer_id,
customer.first_name,
customer.last_name,
customer.email,
rental.rental_id,
rental.rental_date,
rental.inventory_id
FROM customer
INNER JOIN rental ON customer.customer_id=rental.customer_id
WHERE CURRENT_DATE - rental.rental_date > 90 AND rental.return_date = NULL;
我正在尝试用租赁时间超过90天的客户租赁信息填充一个表。为此,我从current_date中减去rental_date,并返回> 90天的结果。实现这一目标的最佳途径是什么?
我尝试使用DATEDIFF函数,但无法识别列'day'
2条答案
按热度按时间kkbh8khc1#
最简单的方法是使用日期算术:
7cjasjjr2#
您可能希望使用postgres作为Date/Time Functions and Operators的一部分提供的
age
函数。然后使用extract
,这样就可以只比较间隔的天数部分。您的
where
predicate 可能如下所示