2014-10-30 69 views
3

在我的OrientDB实例中,条目的date属性存储为java.util.Date在orientDB中,如何搜索给定年份的日期条目?

我想获得给定年份的所有文档。但我不认为写作

SELECT FROM posts WHERE date.format('yyyy')=2012 

是最好的办法。还是它?

+0

嗯,我想对那些东西,尤其是多年的,这是更好的方式来使用群集。 – kwoxer 2014-10-30 13:01:01

+0

可能重复的[如何查询所有日期大于某个日期在sql server?](http://stackoverflow.com/questions/10643379/how-do-i-query-for-all-dates-greater -than-a-certain-date-in-sql-server) – Riduidel 2014-10-30 16:14:31

+0

它可以很容易地被重写为大于或低于使用前面提到的问题的日期,所以我关闭了我的。 – Riduidel 2014-10-30 16:15:08

回答

3

给定的查询效率非常低,将执行全表扫描。最好是使用(可能可以使用索引):

select from posts where date between '2012-01-01 00:00:00' and '2012-12-31 23:59:59' 

假设:日期型日期(时间)

+1

Orientdb在内部将日期存储为unixTime,意味着它只是一个“长”数字。 – 2017-03-20 10:55:35

相关问题