복붙노트

[SQL] sqlite가에서 DATETIME에서 달을 받기

SQL

sqlite가에서 DATETIME에서 달을 받기

나는 SQLite는의 DATETIME 필드에서 월을 추출 얻기 위해 노력하고 있어요. 달 (의 dateField가)의 strftime ( '%의 m', dateStart)뿐만 아니라 작동하지 않습니다.

어떤 아이디어?

해결법

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

    1.나는 응답이 귀하의 질문에, 이해가 안 :

    나는 응답이 귀하의 질문에, 이해가 안 :

    select strftime('%m', dateField) as Month ...
    
  2. ==============================

    2.

    SELECT strftime('%m', datefield) FROM table 
    

    이 달의 이름을 검색하는 경우, 텍스트 달 이름 SQLite는의 핵심 분포에 의해 지원 될 것 같습니다하지 않습니다

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

    3.난 당신이 문자열로 달 싶어 같은데요. 가장 친절하지 찾고 있지만, 당신은 아마 점을 참조하십시오. 그냥 변수에 날짜를 ( '지금') 대체합니다.

    난 당신이 문자열로 달 싶어 같은데요. 가장 친절하지 찾고 있지만, 당신은 아마 점을 참조하십시오. 그냥 변수에 날짜를 ( '지금') 대체합니다.

    select case strftime('%m', date('now')) when '01' then 'January' when '02' then 'Febuary' when '03' then 'March' when '04' then 'April' when '05' then 'May' when '06' then 'June' when '07' then 'July' when '08' then 'August' when '09' then 'September' when '10' then 'October' when '11' then 'November' when '12' then 'December' else '' end
    as month 
    
  4. ==============================

    4.다음을 사용하십시오 :

    다음을 사용하십시오 :

    select strftime('%m', datetime(datefield, 'unixepoch')) as month from table
    
  5. ==============================

    5.나는 dateStart 변수가 날짜 / 날짜 타입이기 때문에 당신을 위해 작동하지 않습니다 ( '%의 m', dateStart)의 strftime을 것 같아요.

    나는 dateStart 변수가 날짜 / 날짜 타입이기 때문에 당신을 위해 작동하지 않습니다 ( '%의 m', dateStart)의 strftime을 것 같아요.

    그럼 당신은 사용해야합니다 :

    strftime('%m', date(dateStart))
    
  6. ==============================

    6.이 때 경우 모든없는 솔루션 문이다. 희망이 도움이됩니다.

    이 때 경우 모든없는 솔루션 문이다. 희망이 도움이됩니다.

    select substr('JanFebMarAprMayJunJulAugSepOctNovDec', 1 + 3*strftime('%m', date('now')), -3)
    
  7. ==============================

    7.여기에 나를 위해 일한 내 솔루션입니다

    여기에 나를 위해 일한 내 솔루션입니다

    MONTH_DICT={ "Jan" : '01', "Feb" : '02', "Mar" : '03', "Apr" : '04', "May" : '05', "Jun" : '06', "Jul" : '07', "Aug" : '08', "Sep" : '09', "Oct" : 10, "Nov" : 11, "Dec" : 12 }
    
    self.cursor.execute("SELECT * FROM error_log WHERE strftime('%m',Date_column)=?",(MONTH_DICT[query_month],)) 
    
    print('output:', self.cursor.fetchall())
    
  8. from https://stackoverflow.com/questions/650480/get-month-from-datetime-in-sqlite by cc-by-sa and MIT license