我正在尝试获取类似于date_trunc
psql 中的 mysql 查询。
不幸的是 Mysql 没有date_trunc
功能,我发现我可以在 Mysql 中使用 extract 代替。
我想要做的是编写一个脚本,我将在每小时 10 分钟后运行它,但我只想选择从一个小时开始到这个小时结束的数据。
例如,我将运行脚本 12:10,我想显示从 11:00:00 到 11:59:59 的数据。
在 PSQL 查询中看起来像这样:
SELECT *
FROM data
WHERE time > ( date_trunc('hour',now()) - interval '1 hour' )
AND time <= ( date_trunc('hour',now()) ) ORDER BY time;
我试图以类似的方式使用提取,但我没有返回任何行或错误:/
下面的查询返回例如一些缩小的数据,但从数据库启动的第一天开始,每天 2 小时,而不仅仅是最后一个小时:
SELECT *
FROM data
WHERE extract(hour from cr_date) between extract(hour from now()) - interval 1 hour)
AND extract(hour from now())
ORDER BY cr_date;
有什么想法可以实现吗?或者我在这个查询中做错了什么?