当前位置: 首页 > 知识库问答 >
问题:

使用maxTimeuuid/minTimeuuid进行CQL timeuuid比较

宗政学
2023-03-14

我正在Mac OS X上使用Datastax cassandra发行版(DSC-Cassandra-1.2.6)。我想使用timeuuid类型,并尝试对它们进行查询。

这是我的桌子:

CREATE TABLE test_t (
  canon_key text,
  t timeuuid,
  PRIMARY KEY (canon_key, t)
)
cqlsh:pagedb> select canon_key, t, dateOf(t), unixTimestampOf(t) from test_t where canon_key = 'xxx' and t >= minTimeuuid('2013-08-08 18:43:58-0700');                 
 canon_key | t                                    | dateOf(t)                | unixTimestampOf(t)

-----------+--------------------------------------+--------------------------+--------------------

       xxx | 287d3c30-0095-11e3-9268-a7d2e09193eb | 2013-08-08 18:43:58-0700 |      1376012638067

cqlsh:pagedb>从test_t中选择canon_key,t,dateOf(t),unixTimestampOf(t),其中canon_key='xxx'和t>=minTimeuuid('2013-08-08 18:43:58-0700')和t<=maxTimeuuid('2013-08-08 18:43:58-0700');

但是根据文档(http://cassandra.apache.org/doc/cql3/cql.html#usingdates),这是行不通的。引用:“请注意,t>=maxTimeuuid('2013-01-01 00:05+0000')仍然不会选择恰好在'2013-01-01 00:05+0000'生成的timeuuid,本质上等同于t>maxTimeuuid('2013-01-01 00:05+0000')。”。

所以..如何删除此行?

共有1个答案

闻人宝
2023-03-14

您的前提是错误的--mintimeuuidmaxtimeuuid确实允许对timeuuid进行不等式操作,但这并不意味着不支持简单的相等性:

cqlsh:foo> insert into test_t (canon_key, t) values ('k', now());
cqlsh:foo> select * from test_t;

 canon_key | t
-----------+--------------------------------------
         k | 27609890-0209-11e3-b862-59d5a2b25b8f

(1 rows)

cqlsh:foo> delete from test_t where canon_key = 'k' and t = 27609890-0209-11e3-b862-59d5a2b25b8f;
cqlsh:foo> select * from test_t;

(0 rows)
 类似资料:
  • b)从给定的timeuuid返回DateTime c)查找给定日期时间的MaxTimeUuid和MinTimeUuid 对于a)和b),我找到了这个链接,它为我提供了一个具有所需功能的结构。

  • 问题内容: 我正在开发需要检查作业截止日期的应用程序。我想知道到期日期是否在下个星期之内,然后再执行一项操作。 我可以找到的大多数文档都在Objective-C中,但我不知道如何在Swift中完成。谢谢您的帮助!! 问题答案: 我喜欢使用扩展使代码更具可读性。以下是一些NSDate扩展,它们可以帮助清理代码并使其易于理解。我把它放在一个sharedCode.swift文件中: 现在,如果您可以执行

  • 我明白为什么第三个和第四个输出打印真和假。这是因为返回一个对象,包装类缓存值在-128到127范围内的对象。如果向传递了该范围内的任何值,则它应该重用缓存中的对象。否则,它将创建一个新对象。 现在,为什么第二个输出打印出false?我以为返回一个原语,而不是像那样返回一个对象。

  • 问题内容: 似乎PHP的运算符区分大小写。那么有使用理由吗? 执行以下操作是否安全? 问题答案: 使用它的原因是因为 如果str1小于str2,则返回<0;如果str1大于str2,则> 0;如果相等,则> 0。 仅返回或,它不会告诉您哪个是“更大”的字符串。

  • 所以我正在使用一些预先存在的比较器,它们比较两个元组中的某些值,如果第一个大于第二个,则返回true,否则返回false。这是其中之一的代码: 现在,我有一个字典,里面有许多上面比较的类型的元组条目。我想以相反的顺序对它们进行排序,但我真的不知道如何完成。我在想这样的事情: 但是我不知道向比较器传递什么,因为每个比较器都有两个参数(subInfo1、subInfo2)。我不能更改比较器函数。

  • 我有两个带有JSONObject的ArrayList,我需要比较这两个,并从中找到不同的项,到目前为止,这是我的代码,我收到的输出是不正确的。 公共静态空格main(字符串args[]){