【问题标题】:Cassandra timestamp questionsCassandra 时间戳问题
【发布时间】:2017-04-02 19:01:02
【问题描述】:

多部分问题: 1. 如何查找/设置默认时间戳格式? 2. 我有一个需要插入的时间戳列 - 但我只有时间(没有日期或年份) - 我该怎么做? (这是否有意义)

我进行了一些基本测试进行实验,但无法真正解决任何问题:

CREATE TABLE testts (
            ID int PRIMARY KEY,
            mdate timestamp,            
            ttime timestamp);

INSERT INTO testts (ID , mdate, ttime )
VALUES (1, '2015-10-12', '2014-10-12') ;

INSERT INTO testts (ID , mdate, ttime )
VALUES (2, '2015/10/15', '2013/10/12') ;  //This fails

INSERT INTO testts (ID , mdate, ttime )
VALUES (2, '20151015', '20131012') ;  //Did not put any format

INSERT INTO testts (ID , mdate, ttime )
VALUES (3, '2009-08-12', '1020') ; //my actual data is just time

cqlsh:tests> select * from testts;

 id | mdate                    | ttime
----+--------------------------+--------------------------
  1 | 2015-10-12 07:00:00+0000 | 2014-10-12 07:00:00+0000
  2 | 1970-01-01 05:35:51+0000 | 1970-01-01 05:35:31+0000  //1970 ??
  3 | 2009-08-12 07:00:00+0000 | 1970-01-01 00:00:01+0000  //1970 ??

(3 rows)

如上所示,这个 1970 出现了?!

谢谢大家,

【问题讨论】:

  • 如果没有所有字段,则不是时间戳。如果这不是您想要存储的内容,请不要使用 timestamp。改为为您拥有的每个时间字段使用列。
  • > select * from testtime;编号 |日期 | ttime ----+----------------------------------+----- --- 1 | 2015-10-12 07:00:00+0000 | 00:00:00.000001020 2 | 2014-08-15 07:00:00+0000 | 00:00:00.000000930(2 行)
  • (上述评论已预先发布)是的,不使用时间戳是有意义的(除非有办法)。所以尝试使用时间列类型并输入时间,如 1020、930 等,但选择在前面得到 0s - 它们是什么意思 - 看起来不像日期/年份> select * from testtime; id | mdate | ttime ----+--------------------------+-------------------- 1 | 2015-10-12 07:00:00+0000 | 00:00:00.000001020 2 | 2014-08-15 07:00:00+0000 | 00:00:00.000000930 (2 rows)跨度>

标签: java cassandra timestamp cqlsh


【解决方案1】:

来自the official documentation(如果这是一个可视化问题):

您可以通过在 cqlshrc 文件的 [ui] 部分。

在同一个链接中,您可以找到您需要了解的所有信息。具体来说:

时间戳类型的值被编码为 64 位有符号整数 表示自标准基准时间以来的毫秒数 被称为纪元:1970 年 1 月 1 日 00:00:00 GMT。

您的时间插入将相对于该日期,并将按原样显示。

您可以使用普通的int(或bigint,取决于您的需要)来存储仅时间部分,而不是使用timestamp 列。

【讨论】:

    猜你喜欢
    • 2017-01-21
    • 1970-01-01
    • 2019-02-24
    • 2011-03-16
    • 1970-01-01
    • 2016-07-11
    相关资源
    最近更新 更多