53 timestamp cql cassandra datastax-java-driver
我试图从命令行插入我的CQL表.我能插入一切.但我想知道我是否有时间戳列,那么如何从命令行插入timestamp列?基本上,我想在插入我的CQL表时插入当前时间戳 -
目前,每当我插入下面的CQL表时,我都会硬编码时间戳 -
CREATE TABLE TEST (ID TEXT, NAME TEXT, VALUE TEXT, LAST_MODIFIED_DATE TIMESTAMP, PRIMARY KEY (ID));
INSERT INTO TEST (ID, NAME, VALUE, LAST_MODIFIED_DATE) VALUES ('1', 'elephant', 'SOME_VALUE', 1382655211694);
Run Code Online (Sandbox Code Playgroud)
有没有办法在CQL中使用一些预定义函数来获取当前时间戳,以便在插入上表时,我可以使用该方法获取当前时间戳然后插入上表?
lor*_*can 103
您可以使用timeuuid函数now()
和dateof()
(或者在更高版本的Cassandra中toTimestamp()
),例如,
INSERT INTO TEST (ID, NAME, VALUE, LAST_MODIFIED_DATE)
VALUES ('2', 'elephant', 'SOME_VALUE', dateof(now()));
Run Code Online (Sandbox Code Playgroud)
该now
函数不带参数,并生成一个新的唯一timeuuid(在执行使用它的语句时).该dateOf
函数采用timeuuid参数并提取嵌入的时间戳.(摘自timeuuid函数的CQL文档).
dateof()
在Cassandra 2.2.0-rc2中被弃用.对于以后的版本,您应该将其替换使用toTimestamp()
,如下所示:
INSERT INTO TEST (ID, NAME, VALUE, LAST_MODIFIED_DATE)
VALUES ('2', 'elephant', 'SOME_VALUE', toTimestamp(now()));
Run Code Online (Sandbox Code Playgroud)
Eri*_*ang 15
在新版本中cassandra
可以使用toTimestamp(now())
,并注意该函数dateof
已被弃用.
例如
insert into dummy(id, name, size, create_date) values (1, 'Eric', 12, toTimestamp(now()));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
78419 次 |
最近记录: |