1

特定の日付に作成されたすべてのレコードを見つけるにはどうすればよいですか (今日や昨日などとは関係ありません)。

形式は次のとおりです: irb(main):016:0> SourceNode.first.created_at

そして、2013 年 7 月 1 日に作成されたものを見つけたいと思います。

=> Fri, 12 Jul 2013 01:15:48 UTC +00:00
irb(main):017:0> SourceNode.where("created_at = '2013-07-01'").count
=> 0
4

3 に答える 3

4

常に特定の日付である場合は、比較のために日付を切り捨てることができます。

SourceNode.where("date_trunc('day', created_at) = '2013-07-01'").count

出典: Postgres の優れた日付/時刻のドキュメント

于 2013-11-09T02:36:53.180 に答える
1

私の知る限り、「created_at」は日時属性なので、日付だけとは限りません。あなたができると思うのは、値が日付の1秒前と1秒後の間の場合に比較することです:

SourceNode.where("created_at > '2013-01-06 23:59:59' AND created_at < '2013-01-08 00:00:00'")

もっと良い方法があるかもしれませんが、これはここでうまくいきました。

于 2013-11-09T02:15:07.037 に答える