2014-12-02 4 views
0

hsqldb에 저장된 날짜 목록에서 생일을 검색하려고합니다. 그러면 앞으로 7 일간 다가오는 생일을 나열 할 수 있습니다. 다음은 쿼리입니다. 이 질의를 실행할 때 예기치 않은 토큰이 만듦. 나는 sysdate()와 current_date도 시도했는데 같은 오류가 발생한다. 이 문제를 해결하도록 도와주세요. 다가오는 생일을 나열하기 위해 hsqldb의 날짜에서 현재 날짜와 day_of_month을 검색하는 방법

답변

1

INTERVAL 처음 사용

SELECT * 
 
FROM contacts 
 
WHERE DATE_ADD(dob, INTERVAL YEAR(CURDATE())-YEAR(dob) YEAR) 
 
      BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 7 DAY);
잘못된 구문이다. 다음과 같이 수정할 수 있습니다.

SELECT * 
FROM contacts 
WHERE DATE_ADD(dob, (CURDATE() - dob) YEAR) 
      BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 7 DAY);