选择“在 Cassandra 上查询”,并将 where 子句字段作为时间戳



我需要运行一个选择查询,其中包含一个带有字段作为时间戳数据类型的 where 子句。

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

"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");

请让我知道如何使用上述查询获取详细信息。

嗯,时区配置似乎有问题。我以前见过这个问题。

  • 你的卡桑德拉版本是什么?
  • 卡桑德拉服务器时间是否设置为 UTC ?
  • 运行 cqlsh 时间的服务器是否设置为 UTC ?

最新更新