我在 postgresql 数据库中有以下查询
SELECT *
FROM accounts
where insertdate BETWEEN '2012-01-01' AND CURRENT_TIMESTAMP
那么我怎样才能代替今年'2012-01-01'
的第一天的要求
还有一个问题。当我在帐户表中有一条新记录时,同一时刻正在运行上面的选择,所以它不会给我带来我刚刚制作的记录。这合理吗?超越它的最佳方法是什么?
我在 postgresql 数据库中有以下查询
SELECT *
FROM accounts
where insertdate BETWEEN '2012-01-01' AND CURRENT_TIMESTAMP
那么我怎样才能代替今年'2012-01-01'
的第一天的要求
还有一个问题。当我在帐户表中有一条新记录时,同一时刻正在运行上面的选择,所以它不会给我带来我刚刚制作的记录。这合理吗?超越它的最佳方法是什么?
您正在寻找date_trunc()
,它可以将日期截断为指定的精度(例如year
, month
, day
):
SELECT date_trunc('year', now());
在您的查询中:
SELECT * FROM accounts where insertdate BETWEEN
date_trunc('year', now()) AND CURRENT_TIMESTAMP
您可以尝试使用此 CURRENT_TIMESTAMP.YEAR-01-01