选择cassandra上的查询,其中where子句字段为timestamp

时间:2016-02-18 11:11:03

标签: cassandra

我需要运行带有where子句的select查询,其中field为timestamp数据类型。

在方案中,SUBMIT日期的数据类型是时间戳

"SUBMIT_DATE" timestamp,

select "SUBMIT_DATE" from "MESSAGES_2016_02_18";

 SUBMIT_DATE
--------------------------
 2016-02-18 16:26:14+0530

(1 rows)

但是当我尝试

select * from "MESSAGES_2016_02_18" where "SUBMIT_DATE"='2016-02-18 16:26:14+0530';

(0 rows)

有谁能告诉我如何获得理想的结果?

表格是:

CREATE TABLE "MESSAGES_2016_02_18" (
  "ADDR_DST_DIGITS" ascii,
  "ID" uuid,
  "SUBMIT_DATE" timestamp,
  "TARGET_ID" ascii,
  "VALIDITY_PERIOD" timestamp,
  PRIMARY KEY (("ADDR_DST_DIGITS"), "ID")
) WITH
  bloom_filter_fp_chance=0.010000 AND
  caching='KEYS_ONLY' AND
  comment='';

我创建了一个索引以及" SUBMIT_DATE"不是主键

create INDEX fetch_date ON "TelestaxSMSC"."MESSAGES_2016_02_18" ("SUBMIT_DATE");

请告诉我如何通过上述查询获取详细信息。

1 个答案:

答案 0 :(得分:0)

嗯,看起来时区配置有问题。我以前见过这个问题。

  • 你的Cassandra版本是什么?
  • 是在UTC上设置的Cassandra服务器时间吗?
  • 是您在UTC上运行 cqlsh 时间的服务器吗?