如何从 db2 中的选定日期获取接下来 24 小时的所有数据?
Posted
技术标签:
【中文标题】如何从 db2 中的选定日期获取接下来 24 小时的所有数据?【英文标题】:How to get all data for next 24 hours from selected date in db2? 【发布时间】:2021-09-29 07:43:25 【问题描述】:我在 db2 中有带有字段的数据库表
Date(Numeric) | Time(Seconds) | Account | Amount |
---|---|---|---|
1191231 | 12453 | 24562 | 8500 |
1191231 | 16253 | 24562 | 7600 |
1200101 | 76253 | 24562 | 6500 |
1200101 | 92253 | 24562 | 2500 |
1200101 | 15253 | 24562 | 2500 |
这里的 1191231 表示 --> 2019-12-31 和 12000101 --> 2020-01-01
我想选择从时间 16200 到 1200101 到时间 16200 的 1191231 之间的所有数据。
简而言之,我想要从 1191231 的 16200(04:30 AM) 秒到 1200101 的 16200(04:30) 秒的数据......我希望你明白我的意思。
我想要的输出是
Date(Numeric) | Time(Seconds) | Account | Amount |
---|---|---|---|
1191231 | 16253 | 24562 | 7600 |
1200101 | 15253 | 24562 | 2500 |
在此,我获得了 2019 年 12 月 31 日凌晨 4:30 到 2020 年 1 月 1 日凌晨 4:30 之间的数据(24 小时时间)
我用过这个 SQL 查询
select Date, Time, Account, Amount
from Customer
where account = '24562'
and Date BETWEEN 1191231 AND 1200101
and time > 16500
请帮我解决问题.....提前致谢。
【问题讨论】:
你试过的SQL是什么? Db2 的哪个版本和平台?请参阅***.com/help/how-to-ask 您提供初始 SQL 语句,社区帮助解决错误。 “92253”(第 4 行)几点了? DB2 确实有正确的日期和时间戳数据类型:ibm.com/docs/en/db2-for-zos/… @data_henrik 我已经使用了上述查询,但这仅过滤了从 2019-12-31 4:30 AM 到 2020-01-01 11:59 PM 的数据 @jarlh 我无法更改日期和时间的数据类型,我只能访问 DB2。 @data_henrik 92253 是以秒为单位的时间,16200 是凌晨 4:30 【参考方案1】:试试这个:
WHERE BIGINT (DATE) * 86400 + TIME BETWEEN
BIGINT (1191231) * 86400 + 16200
AND
BIGINT (1200101) * 86400 + 16200
【讨论】:
以上是关于如何从 db2 中的选定日期获取接下来 24 小时的所有数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 HealthKit 从特定日期准确获取 24 小时的睡眠数据?