我在
postgresql数据库中有以下查询
SELECT * FROM accounts where insertdate BETWEEN '2012-01-01' AND CURRENT_TIMESTAMP
那么如何更换今年第一天的“2012-01-01”呢?
还有一个问题.当我在帐户表中有一个新的记录时,同一时刻运行上面的选择,所以它没有给我刚刚做的记录.这是否合理?
超越它的最佳方法是什么?
解决方法
您正在寻找
date_trunc()
,可以将日期截断为指定的精度(例如年,月,日):
SELECT date_trunc('year',now());
在您的查询中:
SELECT * FROM accounts where insertdate BETWEEN date_trunc('year',now()) AND CURRENT_TIMESTAMP