从日期时间列中选择多天的时间窗口

Select time windows across multiple days from datetime column

提问人:foam78 提问时间:3/24/2022 更新时间:3/24/2022 访问量:99

问:

给定一个带有类型值列的 kdb 表,是否有一个简单的 q 查询来选择所有在特定窗口内但在任何日期都有时间的行?datetime

日期时间 kdb q

评论


答:

2赞 Cathal O'Neill 3/24/2022 #1

像这样的东西?

q)t:([]10?.z.z)
q)t
z
-----------------------
2003.06.26T07:32:45.704
2021.09.30T06:05:45.588
2015.08.27T14:41:02.619
2020.12.25T13:06:28.033
2017.05.30T05:15:00.394
2009.02.09T22:27:48.524
2013.07.30T00:10:19.679
2011.01.22T19:25:44.318
2009.01.31T04:21:12.165
2009.12.29T19:41:11.965
q)select from t where z within 06:41 15:32
z
-----------------------
2003.06.26T07:32:45.704
2015.08.27T14:41:02.619
2020.12.25T13:06:28.033

评论

0赞 foam78 3/24/2022
非常感谢你。您能解释一下它是如何工作的/发生了什么吗?
1赞 Cathal O'Neill 3/24/2022
这个 KX wiki 参考很好地解释了这一点。code.kx.com/q/kb/temporal-data/#comparing-temporals
1赞 Cathal O'Neill 3/24/2022
实质上,在日期时间内查找时间时,日期时间首先转换为时间,从而使日期组件变得多余。
1赞 foam78 3/24/2022
感谢您的回答、解释和参考。我已将答案标记为已接受,非常感谢 Cathal