PSQL 查询 return 结果,其中创建日期在最近一周内
PSQL query to return results where creationdate is within the most recent week
我有这个 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 具有哪些日期功能或如何使用它,以及如何将我的创建日期字符串读取为可以比较的实际日期。
您可以使用 date_trunc()
:
SELECT status, username, jobname, creationdate
FROM t_job
WHERE jobname = 'Loadon' AND
creationdate >= datetrunc('week', current_date);
周定义为从星期一开始,这正是您想要的。
我有这个 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 具有哪些日期功能或如何使用它,以及如何将我的创建日期字符串读取为可以比较的实际日期。
您可以使用 date_trunc()
:
SELECT status, username, jobname, creationdate
FROM t_job
WHERE jobname = 'Loadon' AND
creationdate >= datetrunc('week', current_date);
周定义为从星期一开始,这正是您想要的。