今年的第一天

use*_*203 15 sql postgresql

我在postgresql数据库中有以下查询

SELECT * 
FROM accounts 
where insertdate BETWEEN '2012-01-01' AND CURRENT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)

那么如何才能替换当年'2012-01-01'第一天的询问

还有一个问题.当我在帐户表中有一个新记录时,同一时刻运行上面的选择,所以它不会给我带来我刚刚制作的记录.这是否合理?超越它的最佳方法是什么?

bee*_*jay 29

你要找的date_trunc(),这可以截断日期到指定的精度(例如year,month,day):

SELECT date_trunc('year', now());
Run Code Online (Sandbox Code Playgroud)

在您的查询中:

SELECT * FROM accounts where insertdate BETWEEN 
date_trunc('year', now()) AND CURRENT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)