在查询中使用日期交换字符串

时间:2016-12-21 00:43:17

标签: sql postgresql

我正在运行以下查询。我想让这个查询更具动态性,所以我想改用第二个查询。

SELECT  X
FROM    Y
WHERE   Z
and  file_created_date  = '12/18/2016'


SELECT  X
FROM    Y
WHERE   Z
and  file_created_date  = SELECT date(GETDATE()-2)

第二个查询返回选择

周围的错误
SELECT date(GETDATE()-2)

2 个答案:

答案 0 :(得分:1)

postgres中没有

GETDATE()。但是,你可以使用current_date

... and file_created_date = current_date - 2

答案 1 :(得分:0)

Postgres支持日期的间隔偏移:

where Z and
      file_created_date = current_date - interval '2 day'

如果file_created_date也有时间成分,那么您应该考虑到这一点:

where Z and
      file_created_date > current_date - interval '3 day' and
      file_created_date <= current_date - interval '2 day'