PSQL查询返回createdate在最近一周内的结果

时间:2018-03-21 03:15:15

标签: sql postgresql sorting psql

我有这个PSQL查询:

 SELECT status, username, jobname, creationdate FROM t_job WHERE jobname = 'Loadon';

给我这个数据(样本前3行):

 succeeded   | danielp      | Loadon  | 2018-03-20 12:30:25.655+11
 succeeded   | philm        | Loadon  | 2018-03-05 15:18:50.225+11
 succeeded   | garethy      | Loadon  | 2018-03-16 17:09:23.596+11

我需要在WHERE语句中添加一个日期条件,这样我才能获得最近一周内的结果,从星期一开始。因此,如果今天是星期四,我需要周一至周四的所有结果。

我不确定PSQL有哪些日期功能或如何使用它,以及如何将我的创建日期字符串读取为可比较的实际日期。

1 个答案:

答案 0 :(得分:0)

您可以使用date_trunc()

SELECT status, username, jobname, creationdate
FROM t_job
WHERE jobname = 'Loadon' AND
      creationdate >= datetrunc('week', current_date);

周被定义为星期一开始,这正是你想要的。