2013-04-28 12 views
1

사이에 내 데이터베이스 내 날짜를 저장하기 위해 다음 코드를 사용하고 있습니다 :안드로이드 SQLite는 : 날짜 시간 쿼리

String mydate = java.text.DateFormat.getDateTimeInstance().format(
       Calendar.getInstance().getTime()); 

이것은 DB의 문자열입니다. 여러 목록이 있고 그날을 기준으로 변경된 내용을 사용자에게 표시하려고합니다.

sqlserver에는 실제 날짜 변수가 있으며이 변수간에 BETWEEN을 실행할 수 있습니다. 현재 사용하고있는 데이터 유형을 사용하여이를 구현하는 방법을 잘 모르겠습니다.

날짜를 저장하는 더 좋은 방법이있을 수 있지만 이것이 내가 성공적으로 수행 할 수 있었던 유일한 방법이었습니다.

답변

1

날짜를 문자열로 저장하는 경우 YYYY-MM-DD HH : nn : ss 또는 더 짧게 YYYYMMDDHHnnSS와 같은 "비교 가능한"형식을 지정해야합니다. 1970 년 이후로 정수 에포크로 날짜를 저장하는 것이 훨씬 낫습니다. 특히 열을 인덱싱하고 이에 대한 비교 쿼리를 실행하는 경우에 특히 그렇습니다.

+0

이 갈 수있는 방법이 될 수있는 모든 : 당신은 당신이 사용할 수있는 SimpleDateFormat에 대한 올바른 패턴을 지정한 경우 등가는 시험을 위해 등


만 달 비교됩니다 내 검색어 중 날짜 열에 대해 실행 중입니다. 정수 값은 쿼리를 작성하는 것이 훨씬 쉬워야합니다. 나는 이것을 조사 할 것이다. –

2

이것은 db의 문자열입니다. 여러 목록이 있고 그날을 기준으로 사용자가 변경 한 내용을 에 표시하고 싶습니다.

실제 코드는 사용자 정의 Date 패턴으로 향상시킬 수 있습니다. 예를 들어 SimpleDateFormat과 같이이를 달성하고 정의 된 패턴으로 Date를 String으로 저장할 수 있습니다.

사용자가 여러 개의 목록을 표시하고 싶습니다. 해당 날짜를 기준으로 변경된 입니다. 정확히 어떤 당신이 날짜를 저장하는 형식으로, 당신은 단순히 며칠을 비교 한 후 전체 Date에서만 일, 예를 들어 얻을 substr() 기능을 사용할 수 있습니다 알고있을 때 내 머리에 와서

그래서 일단 좋습니다.