如何在cassandra查询语言中使用日期数据类型编写查询?

zzwlnbp8  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(331)

我已经创建了表                                          

create table testdates2(dates date primary key,ate text);

insert into testdates2(2018-04,'nov');

我得到这个错误
语法例外:第1:23行输入“2018”时没有可行的替代方案(插入testdates2([2018]…)

9nvpjoqh

9nvpjoqh1#

格式为 yyyy-mm-dd 也就是说,你也要一直坚持一天。下面是一个使用您的模式的示例,它将为2018年4月1日插入一行。我选择了一个随机值作为 ate 列。

cqlsh> insert into testdates2 (dates, ate) VALUES ('2018-04-01', 'Soup');
cqlsh> select * from testdates2;

 dates      | ate
------------+------
 2018-04-01 | Soup

(1 rows)

在datastax关于这个主题的文档中,您可以找到关于使用cassandra的日期值的更详细的文档。
根据有关时间戳和日期的注解进行编辑。 timestamp 具有更高的分辨率,它可以指向事件发生时的精确秒数 date 可以指向事件发生的日期。
假设我想知道汤吃了几秒钟,我可以使用timestamp类型而不是date类型。

ALTER TABLE testdates2 ADD time_eaten timestamp;
insert into testdates2 (dates, ate, time_eaten) VALUES ('2018-04-01', 'Soup', 1522576800);

1522576800和2019-04-01都代表2018年4月1日,但时间戳也指定了发生在上午10点的事件。

相关问题