2011-12-22 1 views
2

날짜 사이를 필터링하는 where 절을 사용하여 쿼리를 만들려고합니다. 내 검색어는 다음과 유사합니다.OrmLite where 절과 java.util.date 사이의 SQL

java.util.Date date1 = ... 
java.util.Date date2 = ... 
where().between("datefield", date1, date2) 

그러나 작동하지 않습니다. QueryBuilder으로 쿼리를 만들고 있는데 selectRaw(...)queryRaw(...)을 사용합니다. 누구든지 도와 줄 수 있습니까?

답변

12

안드로이드에서는 Date 필드가 SQL between을 사용할 때 오른쪽 비교되지 않는 문자열로 유지되기 때문에이 방법은 작동하지 않습니다. 이 문제를 해결하는 한 가지 방법은 대신 걷고로 Date 필드를 저장하는 것입니다 : 이것은 비교되는 신기원 밀리 긴 숫자로 Date를 저장하고있는이 between 작동합니다

@DatabaseField(dataType = DataType.DATE_LONG) 
private Date dateField; 

.

+0

MySql과 인터페이스 할 때 같은 일이 생기면 이미 dataType = DataType.DATE ...를 설정했습니다. 회색을 도울 수 있습니까? –

+0

ormlite 사용자 메일 링리스트 @BromoProgrammer에 질문을 게시 할 수 있습니까? https://groups.google.com/forum/?fromgroups#!forum/ormlite-user – Gray

+0

@ 그레이 - 간단한 질문 : OrmLite와 함께 오래도록 다른 형식으로 날짜를 저장하는 이유는 무엇입니까? – jwBurnside