我已经创建了表
create table testdates2(dates date primary key,ate text); insert into testdates2(2018-04,'nov');
我得到这个错误语法例外:第1:23行输入“2018”时没有可行的替代方案(插入testdates2([2018]…)
9nvpjoqh1#
格式为 yyyy-mm-dd 也就是说,你也要一直坚持一天。下面是一个使用您的模式的示例,它将为2018年4月1日插入一行。我选择了一个随机值作为 ate 列。
yyyy-mm-dd
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类型。
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点的事件。
1条答案
按热度按时间9nvpjoqh1#
格式为
yyyy-mm-dd
也就是说,你也要一直坚持一天。下面是一个使用您的模式的示例,它将为2018年4月1日插入一行。我选择了一个随机值作为ate
列。在datastax关于这个主题的文档中,您可以找到关于使用cassandra的日期值的更详细的文档。
根据有关时间戳和日期的注解进行编辑。
timestamp
具有更高的分辨率,它可以指向事件发生时的精确秒数date
可以指向事件发生的日期。假设我想知道汤吃了几秒钟,我可以使用timestamp类型而不是date类型。
1522576800和2019-04-01都代表2018年4月1日,但时间戳也指定了发生在上午10点的事件。