我在 Cassandra 有一张桌子:-
CREATE TABLE printerload (
gp_date timestamp,
printed_cost float,
printed_pages int,
saved_cost float,
saved_pages int,
PRIMARY KEY (gp_date)
)
我已在表中插入数据:-
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 客户端插入数据,其中 gp_date 只是日期,例如 2013-07-30)。我做了一个查询:-
cqlsh> select * from ga.printerload WHERE gp_date = '2013-07-30';
(0 rows)
我还需要包括时间部分来搜索。
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。