我遇到了cassandra查询在特定日期时间范围内获取数据的问题。 我的查询如下
button span.pull-left {
text-align: left
}
如果我执行此查询,则表示没有数据。
但是,如果我执行下面的查询(时间大于),我会得到数据
select * from table1 where column1='abc' and time>='2015-11-13 10:43:55' and time<='2015-11-13 11:48:14'
但如果执行下面的查询(时间少于),我就不会获得数据。
select * from table1 where column1='abc' and time>='2015-11-13 10:43:55'
我怀疑这个小故障还不到时间。
对此有何想法?
答案 0 :(得分:0)
很难说没有看到你的桌面数据,但我确实有基于经验的想法......
您最初是如何保存time
时间戳值的?您是否在没有毫秒的情况下插入时间戳?或者你使用dateof(now())
?
我很想看到输出:
SELECT column1, time, blobAsBigint(timestampAsBlob(time)) FROM table1
WHERE column1='abc' AND time>'2015-11-13 10:43:55';
在blobAsBigint(timestampAsBlob(time))
列中,您的最后3位零?如果不是,那么您的time
值会出现毫秒数。使用time<='2015-11-13 11:48:14'
查询2015-11-13 11:48:14时间不会产生任何结果,除非该值完全 2015-11-13 11:48:14.000。
使用Cassandra时间戳作为群集键的棘手部分是(默认情况下)它允许您使用更多精度,而不是实际在cqlsh中显示的。