2017-04-17 2 views
0

이 커서는 현재 날짜보다 상위에있는 날짜 열에서 모든 데이터를 가져 와서 올바르게 정렬합니다. 시간 열은 현재 시간 이전에 발생한 값을 계속 유지하여 올바르게 정렬됩니다. 예를 들어, 09:00:00보다 높기 때문에 반환 된 10:00:00을 원하지만 이미 발생하여 08:00:00을 반환하지 않으려합니다.현재 시간을 기반으로 SQL에서 시간을 정렬하는 방법?

public Cursor GetFirstTime(){ 

     SQLiteDatabase sqLiteDatabase = this.getReadableDatabase(); 
     Cursor nextTime = sqLiteDatabase.rawQuery("SELECT * FROM time_table where dateday >= date('now') AND time >= time('now') ORDER BY dateday, time ASC LIMIT 1",null); 
     return nextTime; 
} 
+0

일부 예제 데이터를 표시하십시오. –

답변

0

당신은 단지 1/1/1970 (calendar.getinstance().gettimeinmillis())부터 밀리 긴 값을 저장에 대해 생각해야한다. 이 경우 데이터베이스에 하나의 긴 값만 저장하면 데이터베이스 쿼리가보다 단순화됩니다.

COLUMN_DATE_TIME >= "specific long value" 
+0

나는 똑같은 대답을하려고했다. 리눅스 에포크 (https://en.wikipedia.org/wiki/Unix_time)의 날짜/시간은 항상 'long'이므로 모든 비교는 매우 간단한 작업입니다. – Budius

관련 문제