选择上一天的行SQL

时间:2018-03-16 08:55:58

标签: sql postgresql date timestamp

也许您可以提供以下代码帮助。 我在" 1"上有错误。如果我今天查询,我想选择前一天的所有行。日期格式为2018-03-16 07:22:48.377

SELECT object_key, audited_changes
FROM pg_audits
WHERE source_action = 'funding'
AND 'created_at' = CURDATE() - INTERVAL 1 DAY
ORDER BY created_at DESC
LIMIT 1000

2 个答案:

答案 0 :(得分:2)

如果你想要昨天所有记录,我们可以NOW()使用适当的范围:

SELECT object_key, audited_changes
FROM pg_audits
WHERE
    source_action = 'funding' AND
    created_at >= CURRENT_DATE - 1 AND
    created_at < CURRENT_DATE
ORDER BY
    created_at DESC
LIMIT 1000;

NOW()::date返回午夜的当天,所以上述范围是针对昨天午夜或之后的任何事情,但严格地早于今天的午夜。

答案 1 :(得分:0)

  

请尝试一下:

SELECT object_key, audited_changes
FROM pg_audits
WHERE source_action = 'funding'
AND DATE(created_at) =DATE_ADD(CURDATE(), INTERVAL -1 DAY)
ORDER BY created_at DESC
LIMIT 1000