gpt4 book ai didi

kdb - 在 KDB 中选择时间跨度值的问题

转载 作者:行者123 更新时间:2023-12-05 01:16:00 31 4
gpt4 key购买 nike

我在选择以下时间跨度时遇到问题:

t:([] date:2#.z.d ; time: 10D21:28:47.425287000 10D12:18:23.287989000 )

date time
--------------------------------
2018.03.15 10D21:28:47.425287000
2018.03.15 10D12:18:23.287989000

当我运行下面的查询时,我没有得到第二条记录

select from t where time within (12:00;13:00)

我期待表中的第二条记录:

date       time                
-------------------------------
2018.03.15 10D12:18:23.287989000

最佳答案

时间值 10D12:18:23.287989000 中的 10 是故意的吗?

数据没有返回的原因是时间(类型 timespan )实际上不是从午夜开始的纳秒;根据表格,自午夜以来 10 天加纳秒

仅根据时间选择数据:

q)select  from t where (`time$(`date$0)+time) within (12:00;13:00)
date time
-------------------------------
2018.03.15 10D12:18:23.287989000

尝试添加表格中的日期和时间,您会看到日期提前了 10 天

q)select date+time from t

date
-----------------------------
2018.03.25D21:28:47.425287000
2018.03.25D12:18:23.287989000

时间跨度基本上是 nDhh:mm:ss.sssssssss ,其中 n 是相对于午夜的。如果它是 0 那么它是当天,否则它的 +/- n 天(取决于 n 是正数还是负数)。

尝试运行以下命令,它将以 n=10 的时间跨度返回 2 个时间戳之间的差异。

q)2018.03.25D10:12:00.000000000 - 2018.03.15D10:00:00.000000000   
10D00:12:00.000000000

关于kdb - 在 KDB 中选择时间跨度值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49310830/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com