多部分问题: 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年出现了什么?!
全心全意,
答案 0 :(得分:0)
来自the official documentation(如果这是可视化问题):
您可以通过在中设置time_format属性来更改格式 [ui] cqlshrc文件的部分。
在同一链接中,您可以找到需要了解的所有信息。具体做法是:
时间戳类型的值被编码为64位有符号整数 表示自标准基准时间以来的毫秒数 被称为时代:1970年1月1日格林威治标准时间00:00:00。
您只有时间插入将相对于该日期,并将按原样显示。
您可以使用普通timestamp
(或int
,根据您的需要)来存储仅限时间的部分,而不是使用bigint
列。