在oracle sql中将1分钟间隔的数据转换为5分钟,15分钟,30分钟,1小时间隔

问题描述 投票:0回答:1
  • 我有一个表,其中包含股票1分钟时间间隔的数据。

  • 我需要将数据转换为5分钟、15分钟、30分钟、1小时的时间间隔并对列进行分组。

我不知道如何转换时间间隔。任何人都可以帮助我吗?

文件内容

日期 打开
2024年9月27日14:30:00 354.7
27-09-2024 14:31:00 354.75
27-09-2024 14:32:00 355.35
27-09-2024 14:33:00 355.2
27-09-2024 14:34:00 354.95
27-09-2024 14:35:00 354.4
27-09-2024 14:36:00 354.7
2024年9月27日14:37:00 354.5
2024年9月27日14:38:00 354.25
2024年9月27日14:39:00 354.15
2024年9月27日14:40:00 354.4

预期输出为:

每隔5分钟应显示第5分钟的频率数据 例如:

日期 打开
2024年9月27日14:30:00 354.7
27-09-2024 14:35:00 354.4
2024年9月27日14:40:00 354.4

15分钟、30分钟的数据也一样,应该显示第15分钟、30分钟的数据。

sql oracle datetime plsql
1个回答
1
投票

基于您的示例输出。看起来您想要过滤日期的分钟部分是整 5 分钟的行。

类似的东西

Select * from records 
where
MOD(extract(minute from date),5) = 0

这获取日期的分钟部分,通过模运算运行它,并且仅显示分钟部分是 5 的某个倍数的条目。您可以将其扩展到其他间隔。

© www.soinside.com 2019 - 2024. All rights reserved.