gpt4 book ai didi

sql - 查询忽略时间戳日期的时间范围

转载 作者:数据小太阳 更新时间:2023-10-29 07:12:49 25 4
gpt4 key购买 nike

我正在尝试查询我的 Rails 数据库 (Postgres) 中的购买表,我想查询时间范围。

例如,我想知道在所有日期的下午 2 点到 3 点之间进行了多少次购买。

此表中有一个 created_at 列,但我不知道如何在不搜索特定日期的情况下完成此操作。

我试过:

Purchases.where("created_at BETWEEN ? and ?", Time.now - 1.hour, Time.now)

但这最终只会搜索今天与那些时间的日期。

最佳答案

您需要使用 PostgreSQL's date_part/extract function 从 created_at 中提取小时部分.

SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');
Result: 20

例如,像这样:

Purchases.where(["EXTRACT(HOUR FROM created_at) BETWEEN ? AND ?", 13, 14])

关于sql - 查询忽略时间戳日期的时间范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19368205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com