2014-02-05 2 views
6

postrges db를 사용하고 있습니다. 이것은 잘 작동하지만 문제는 그 날과 시간이grails ORM, 검색 방법 시간이없는 날

eq ("requestedDate", requestedDate) 

정확히 일치 할 : 나는 내 컨트롤러 날짜로 검색하는 것을 시도하고있다

java.util.Date requestedDate; 

: 내 도메인은 날짜 필드가 이것 때문에. 그러나 응용 프로그램에서 사용자는 항목을 검색 할 날짜 만 입력합니다 (2014-02-05에 대한 모든 요청을 제공하고 브라우저 응용 프로그램이 요청에 현재 시간을 추가합니다). 따라서 사용자 입력 시간이 요청 작성 중 시간과 다르므로 비교가 실패합니다. 'like'을 시도했지만 오류가 발생합니다.

날짜 부분 만 비교하는 방법 은요?

Date now = new Date() 
now.clearTime() 

def results = Meeting.withCriteria { 
    between('date', now, now+1) 
} 

그래서이 현재 날짜의 시간 부분을 제거합니다 다음 않는 쿼리 '사이'(24 시간 이후 자정 다만 사라 자정 사이) :

답변

9

은 당신이 뭔가를 할 수 있습니다.

+0

덕분에 @ rcgeorge23, 그 작업 – vikas

0

그래도 이것을 실현하는 편리한 방법이없는 것처럼 보입니다. 하루의 시작과 하루의 끝을 계산하고 between 연산자를 사용하면 작은 우회 경로가 필요합니다.

EDIT 방금 ​​전 rcgeorge23이 올바른 예를 들어 보았습니다.