2014-11-30 8 views
0

내 개체를 날짜순으로 내림차순으로 정렬하려고합니다. 날짜 형식은 dd-MM-yyyy입니다. 하위 문자열을 사용하여 이것을 어떻게 정렬 할 수 있습니까?sqlite에서 하위 문자열로 정렬 (날짜 내림차순)

편집 : 나는 현재 SUBSTR에 대한 설명서에 따라,

"order by substr(Date, 7, 4),substr(Date, 4, 2), substr(Date, 1, 2) DESC"; 

어떤이, 트릭을 할해야합니다.

문제는 2014년 1월 12일 및 2015년 2월 12일이 같은 2014년 10월 1일 및 2014년 9월 1일 사이에 나타나는 것입니다 :이

같이 나타납니다
10-1-2014 
1-12-2014 
2-12-2015 
9-1-2014 

이 양식에 그것은 지금 해결 될
2-12-2015 
1-12-2014 
10-1-2014 
9-1-2014 
+1

비교를 원하면 날짜를 텍스트로 저장하지 마십시오. 내장 날짜 및 시간 함수를 사용해야합니다. https://www.sqlite.org/lang_datefunc.html – zapl

+0

이 줄을 이해하면 복사/붙여 넣기를 사용하여 코드를 작성하려고합니다. 이것은 성공적인 전략이 아닙니다. 'SUBSTR'에 대한 문서를 읽고, 그 내용을 배우고, 코드 줄을 알아내는 것이 어떻습니까? 그다지 어렵지 않습니다. – Simon

+0

덧붙여서, @zapl이 맞습니다. 문자열을 날짜로 저장하는 것은 나쁜 생각입니다. 날짜는 사용자에게 표시하기 위해 형식을 지정해야하는 경우에만 문자열로 바꿔야합니다. 문자열로 날짜를 저장하거나 계산하지 마십시오. – Simon

답변

0

, 내 모든 날짜 있는지 확인해야했다 : (대신 2010년 1월 1일의) 2010년 1월 1일 및이 줄을 사용

"order by substr(Date, 7, 4) DESC,substr(Date, 4, 2) DESC, substr(Date, 1, 2) DESC"; 
,536,