2014-10-30 29 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

相關問題