首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TimeUUID对卡桑德拉的时间戳?

TimeUUID对卡桑德拉的时间戳?
EN

Stack Overflow用户
提问于 2016-05-28 11:55:02
回答 3查看 7K关注 0票数 5

如果我们可以从TimeUUID中提取时间,那么使用时间戳作为Cassandra中的另一列有意义吗?

另外,我们如何从TimeUUID中提取时间并进行范围查询(例如。2016年1月至2016年5月)?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-28 21:08:04

如果选择使用timeuuid,则不需要将时间戳存储在不同的列中。

你在找

请注意minmax。LSB位决定了唯一性。也就是说,最后8位可以从00000000ffffffff

因此,请准备相应的范围查询。

希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2017-10-25 12:32:47

Timeuuid函数

现在

now函数不接受参数,并在协调器节点上生成一个新的唯一的timeuuid (在执行使用它的语句时)。请注意,此方法对于插入很有用,但在WHERE子句中基本上是无意义的。例如,表单的查询

SELECT * FROM myTable WHERE t = now()永远不会通过设计返回任何结果,因为now()返回的值保证是唯一的。

minTimeuuidmaxTimeuuid

minTimeuuid (resp. )函数接受时间戳值t(既可以是时间戳,也可以是日期字符串),并返回与最小值(resp )对应的假时间戳。(最大的)可能具有时间戳t的时间戳。例如:

SELECT * FROM myTable WHERE t > maxTimeuuid('2013-01-01 00:05+0000') AND t < minTimeuuid('2013-02-02 10:00+0000')将选择timeuuid列t严格早于2013-01-01 00:05+0000但严格小于2013-02-02 10:00+0000的所有行。请注意,t >= maxTimeuuid('2013-01-01 00:05+0000')仍然不会选择在2013-01-01 00:05+0000生成的时间is,这在本质上等同于t > maxTimeuuid('2013-01-01 00:05+0000')

函数表

警告:我们调用minTimeuuid和maxTimeuuid生成的值是假的,因为它们不尊重RFC 4122指定的基于时间的UUID生成过程。特别是,这两个方法返回的值并不是唯一的。这意味着您应该只使用这些方法进行查询(如上面的示例所示)。插入这些方法的结果几乎肯定是个坏主意。

时间转换函数

提供了许多函数来将一个timeuuid、一个时间戳或一个日期“转换”到另一个本机类型。

票数 1
EN

Stack Overflow用户

发布于 2018-02-08 04:08:24

我遇到了这个问题,并在查询期间进行了转换。

代码语言:javascript
复制
SELECT toTimestamp(uuid_timestamp) FROM table

这不是一个问题,因为我是插入熊猫的数据分析。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37498666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档