选择当前周内的数据和特定时间戳

时间:2014-07-17 13:21:22

标签: sql postgresql timestamp truncate

我遇到了SQL-Selection的挑战,它应该提供当前周的日期和05:00到22:00之间的时间段。 (所以从星期一到星期日这个星期5:00到22:00之间的数据)

我在那个方向上搜索了其他问题,虽然我找到了类似的问题但到目前为止我还没有解决我的挑战。

SELECT general_power
FROM t_power
WHERE date_trunc('week', p_date_time) = date_trunc('week', CURRENT_TIMESTAMP) 
AND date_trunc('hour', p_date_time) BETWEEN 'week? 05:00:00' AND 'week? 22:00:00'

p_date_time是"时间戳"列中包含当天每分钟的大量数据。

"周?"在最后一行是问题。有了这个,我试着在本周找到类似通配符的东西(如果存在类似的东西)。但我也很高兴其他解决方案:)

1 个答案:

答案 0 :(得分:1)

select general_power
from t_power
where
    date_trunc('week', p_date_time) = date_trunc('week', current_timestamp) 
    and
    p_date_time::time between '05:00:00' and '22:00:00'

between表示时间> =' 00:00:00'和时间< =' 00:00:00'