ksql-相对时间查询(ansi sql)

czfnxgou  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(474)

如何在使用相对时间的bigint列上编写ksql查询?
i、 我怎样才能取得这样的成就。。。。

SELECT timestamp,value FROM XYZ where timestamp > now() - INTERVAL 5 MINUTES

其中timestamp是bigint字段;从epoch开始的毫秒数。
编辑:上下文。我需要通过网络/数据库savable传递这些查询,我们有许多查询从bigint字段的流中获取最后20分钟的数据。
SELECT timestamp from STREAMNAME where timestamp > 1592882020842 保存/发送此查询的问题是,自保存此查询的时间点以来,经过的时间越来越多,因此离“20分钟前”越来越远。
我真正想要的是这样一个问题。

SELECT timestamp from STREAMNAME where timestmap > now() - 20mins

无论此查询在将来通过网络保存/加载/发送/运行多少次。将始终返回20分钟前->现在的时间戳
从那以后,我在文件里找到了我想要的东西 UNIX_TIMESTAMP() 以毫秒为单位返回bigint格式的时间。

m528fe3b

m528fe3b1#

UNIX_TIMESTAMP 返回处理行时的当前挂钟时间(毫秒),即返回处理时间。函数返回的时间戳将随着每一行的处理而前进。
这与传统数据库的处理方式不同 now ,它将被求值一次,并且这个不可变的时间戳将用于查询的持续时间,而不管查询运行了多长时间。
理解其中的区别很重要。如果 UNIX_TIMESTAMP 你想要什么。。。那太好了!

相关问题