2013-10-15 5 views
0

데이터베이스에서 INT 유형으로 YYYYMMDD 형태로 저장된 날짜를 선택하고 싶습니다. 이제는 사용자가 선택한 날짜를 입력하고 사용자가 입력 한 값보다 낮거나 같은 날짜 만 추출하려고하는 시나리오가 있습니다.SQLite 날짜 추출 기술

"SELECT date FROM transactionRegister WHERE date<='"+dateInput+"'"; 

을하지만 그냥 내 응용 프로그램은 비효율적 인 것 문에 의해 만족되는 모든 결과를로드합니다 :

나는 다음과 같은 SQL 문을 시작했다.

커서로 첫 번째 결과 만로드하고 싶습니다.

답변

1

1 개의 결과가 필요하면 DB에 LIMIT 1을 통해 알려주십시오. 이는 하나의 결과를 보장합니다 (올바른 결과가 아닐 수도 있음).

수정하려면 "가장 가까운 것"ORDER BY date DESC LIMIT 1에 대한 결과를 주문하는 방법을 DB에 알려주십시오.

0

단순히 "제한"SQL 문을 사용하십시오. 귀하의 SQL 문은 다음과 같아야합니다.

"SELECT date FROM transactionRegister WHERE date<='"+dateInput+"' ORDER BY date DESC Limit 1"; 

제한은 지정한 숫자 만 표시합니다. 예를 들어 한계 20은 진술의 20 행만 반환합니다.