选择SQL中的时间戳范围
我试图在SQL postgres中的特定日期范围内选择特定的时间范围。请参阅下面的代码,其中给出了“10:00:00”上的错误。 每列的数据类型为: 数字表示“余额”, “货币”的字符变化(255), “创建时间”的无时区时间戳(例如:2018-03-20 00:00:00) 我尝试了这个链接,但没有成功。选择SQL中的时间戳范围,sql,postgresql,timestamp,Sql,Postgresql,Timestamp,我试图在SQL postgres中的特定日期范围内选择特定的时间范围。请参阅下面的代码,其中给出了“10:00:00”上的错误。 每列的数据类型为: 数字表示“余额”, “货币”的字符变化(255), “创建时间”的无时区时间戳(例如:2018-03-20 00:00:00) 我尝试了这个链接,但没有成功。 选择金额(bl.balance)作为余额、bl.currency、bl.created\u at 从平衡日志bl 其中bl.balance_scope='system'和 创建日期>=当前
选择金额(bl.balance)作为余额、bl.currency、bl.created\u at
从平衡日志bl
其中bl.balance_scope='system'和
创建日期>=当前日期-2和
在<当前日期和
在“10:00:00”和“11:00:00”之间创建
按bl.currency分组,bl.created\u在
在描述处创建的订单
比较需要以时间为单位:
SELECT SUM(bl.balance) AS balance, bl.currency, bl.created_at
FROM balance_logs bl
WHERE bl.balance_scope = 'system' AND
created_at >= CURRENT_DATE - 2 AND
created_at < CURRENT_DATE AND
created_at::time BETWEEN '10:00:00'::time AND '11:00:00'::time
GROUP BY bl.currency, bl.created_at
ORDER BY created_at DESC;
请编辑您的问题(标签下方有一个
edit
按钮),并在表格中包含列的说明,以及每个列的数据类型。谢谢。@gordinlinoff谢谢。我想知道是否可以只修改时间戳的一部分,你告诉我这是真的。谢谢
SELECT SUM(bl.balance) AS balance, bl.currency, bl.created_at
FROM balance_logs bl
WHERE bl.balance_scope = 'system' AND
created_at >= CURRENT_DATE - 2 AND
created_at < CURRENT_DATE AND
created_at::time BETWEEN '10:00:00'::time AND '11:00:00'::time
GROUP BY bl.currency, bl.created_at
ORDER BY created_at DESC;
extract(hour from created_at) = 10