Cassandra日期范围选择给出数据

时间:2015-11-14 06:40:24

标签: cassandra cassandra-2.0 cqlsh

我遇到了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'

我怀疑这个小故障还不到时间。

对此有何想法?

1 个答案:

答案 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中显示的。