首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于日期的比较

基于日期的比较
EN

Stack Overflow用户
提问于 2014-05-08 19:35:05
回答 1查看 832关注 0票数 0

我在卡桑德拉有一张桌子:

代码语言:javascript
复制
CREATE TABLE printerload (
    gp_date timestamp,
    printed_cost float,
    printed_pages int,
    saved_cost float,
    saved_pages int,
    PRIMARY KEY (gp_date)
)

我已经在表格中插入了数据:

代码语言:javascript
复制
cqlsh> select * from ga.printerload;

gp_date                  | printed_cost | printed_pages | saved_cost | saved_pages
--------------------------+--------------+---------------+------------+-------------
2012-01-02 10:30:00-0800 |          0.2 |             2 |          0 |           0
2013-07-10 11:30:00-0700 |        22633 |        322304 |      54.72 |         142
2012-12-15 10:30:00-0800 |       952.17 |         13524 |       0.18 |           3
2013-01-25 10:30:00-0800 |       1982.2 |         26006 |       0.66 |           0
2013-02-26 10:30:00-0800 |        23189 |        335584 |      61.44 |          84
2012-07-16 11:30:00-0700 |        25312 |        338318 |      13.16 |          25
2012-09-26 11:30:00-0700 |        19584 |        287148 |      98.64 |         319
2012-02-09 10:30:00-0800 |         5.01 |            33 |       0.12 |           0
2012-08-19 11:30:00-0700 |        21833 |        323918 |      28.42 |         395
2013-05-09 11:30:00-0700 |        16493 |        235701 |      30.27 |         232
2013-06-14 11:30:00-0700 |       681.41 |          9087 |          0 |           0
2012-08-04 11:30:00-0700 |       610.91 |          8533 |          0 |           0
2012-06-04 11:30:00-0700 |        22793 |        317440 |       4.09 |           4
2013-07-30 11:30:00-0700 |        22037 |        322377 |      34.83 |          79
2012-08-20 11:30:00-0700 |        22760 |        334601 |       8.48 |          17

我想根据日期进行搜索(我使用Java client插入数据,其中gp_date是唯一的日期,例如2013-07-30)。我做了一个查询:-

代码语言:javascript
复制
cqlsh> select * from ga.printerload WHERE gp_date = '2013-07-30';

(0 rows)

我需要包括时间部分以及搜索。

代码语言:javascript
复制
cqlsh> select * from ga.printerload WHERE gp_date = '2013-07-30 11:30:00-0700';

gp_date                  | printed_cost | printed_pages | saved_cost | saved_pages
--------------------------+--------------+---------------+------------+-------------
2013-07-30 11:30:00-0700 |        22037 |        322377 |      34.83 |          79

但比较应该仅基于日期(我希望获得特定日期的记录,而不考虑时间)。我该怎么做呢?有没有只比较日期部分的方法?我使用的是Apache Cassandra 2.0.7。

EN

回答 1

Stack Overflow用户

发布于 2014-06-04 18:10:07

您应该将id数据类型从timestamp更改为date,之后您必须更改主键,因为在给定日期应该有许多printerload,因此将其设置为普通列,并使用辅助索引对该列进行查询。

我想这对你来说应该是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23540620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档