복붙노트

[SQL] SQLite는 주문 Date1530019888000

SQL

SQLite는 주문 Date1530019888000

': MM : SS YYYY-MM-DD HH'내 SQLite는 데이터베이스의 모든 레코드는 형식의 문자열로 저장된 날짜를 포함하는 필드가 포함되어 있습니다.

그것은 가장 최근의 날짜를하시기 바랍니다 포함 레코드를 얻기 위해 데이터베이스를 조회 할 수 있습니까?

해결법

  1. ==============================

    1.당신은 이런 식으로 작업을 수행 할 수 있습니다

    당신은 이런 식으로 작업을 수행 할 수 있습니다

    SELECT * FROM Table ORDER BY date(dateColumn) DESC Limit 1
    
  2. ==============================

    2.나를 위해 내 문제를 해결하기 위해 이런 식으로 내 쿼리를했다

    나를 위해 내 문제를 해결하기 위해 이런 식으로 내 쿼리를했다

    select *  from Table order  by datetime(datetimeColumn) DESC LIMIT 1
    

    나는 날짜되지 날짜 열로 저장 이후

  3. ==============================

    3.그것은 단순히 나를 위해 작동 그래서 SS (예 : 2017년 1월 2일 16시 2분 55초) : mm : 당신은 확실히 텍스트 필드의 형식은 yyyy-mm-dd HH 경우 :

    그것은 단순히 나를 위해 작동 그래서 SS (예 : 2017년 1월 2일 16시 2분 55초) : mm : 당신은 확실히 텍스트 필드의 형식은 yyyy-mm-dd HH 경우 :

    표 ORDER BY dateColumn DESC 제한 1 SELECT * FROM

    여분의 최신 기능없이!

  4. ==============================

    4.당신이 그들을 비교 한 후 유닉스 타임 스탬프로 변환하고,해야합니다

    당신이 그들을 비교 한 후 유닉스 타임 스탬프로 변환하고,해야합니다

    SELECT * FROM data ORDER BY strftime('%s', date_column) DESC
    

    행이 많이있는 경우 그러나 이것은 꽤 느릴 수 있습니다. 더 나은 접근 방식은 기본적으로 유닉스 타임 스탬프를 저장하고, 해당 열의 인덱스를 생성하는 것입니다.

  5. ==============================

    5.당신은 날짜별로 YYYY-MM-DD 형식 다음 순서로 열 sent_date_time을 변환 할 수 있습니다 :

    당신은 날짜별로 YYYY-MM-DD 형식 다음 순서로 열 sent_date_time을 변환 할 수 있습니다 :

    1) substr(sent_date_time,7,4)||"-"||substr(sent_date_time,1,2)||"-"||substr(sent_date_time,4,2) as date
    2) order by date desc
    
  6. ==============================

    6.내 경우에는 모든 '날짜'를 입력 열을 캐스팅없이 잘 작동합니다. 그냥 그렇게 큰 따옴표로 열 이름을 지정하여 :

    내 경우에는 모든 '날짜'를 입력 열을 캐스팅없이 잘 작동합니다. 그냥 그렇게 큰 따옴표로 열 이름을 지정하여 :

    SELECT * FROM 'Repair' ORDER BY "Date" DESC;
    

    나는 SQLite는 자체 또는 그런 일에 의해 캐스팅하게 생각하지만, 나 자신에 의해 '캐스트'날짜 열을 시도 할 때 그것은 일을 아니에요. 그리고 오류 메시지가 없었다.

  7. ==============================

    7.당신은 / 비교를 분류 일을 많이 할 경우에 틱 '지금'얻는 방법을 보여주고있다 여기에, 틱이 아닌 문자열로 시간을 저장하여 더 나은 결과를 얻을 수 있습니다 :

    당신은 / 비교를 분류 일을 많이 할 경우에 틱 '지금'얻는 방법을 보여주고있다 여기에, 틱이 아닌 문자열로 시간을 저장하여 더 나은 결과를 얻을 수 있습니다 :

    ((strftime('%s', 'now') - strftime('%S', 'now') + strftime('%f', 'now')) * 1000)
    

    (https://stackoverflow.com/a/20478329/460084 참조)

    정렬 비교에 그 다음은 등, 쉽게 ...

  8. ==============================

    8.또한 다음 쿼리를 사용할 수 있습니다

    또한 다음 쿼리를 사용할 수 있습니다

    "SELECT * FROM Table ORDER BY strftime('%Y-%m-%d %H:%M:%S'," + dateColumn + ") DESC  Limit 1"
    
  9. ==============================

    9.이 날짜와 시간을 모두 작동합니다

    이 날짜와 시간을 모두 작동합니다

    SELECT * 
    FROM Table 
    ORDER BY 
    julianday(dateColumn) 
    DESC Limit 1
    
  10. from https://stackoverflow.com/questions/14091183/sqlite-order-by-date1530019888000 by cc-by-sa and MIT license