2009-03-16 8 views
13

Ich versuche, den Monat aus einem DATETIME Feld in SQLite zu extrahieren. month(dateField) funktioniert nicht so gut wie strftime('%m', dateStart).Monat von DATETIME in sqlite

Irgendwelche Ideen?

Antwort

24

Ich verstehe nicht, die Antwort in Ihrer Frage:

select strftime('%m', dateField) as Month ... 
10
SELECT strftime('%m', datefield) FROM table 

Wenn Sie die Monatsnamen suchen, Text Monatsnamen scheinen nicht durch die Kernverteilung von SQLite unterstützt werden

+1

dies nicht richtig ist, wenn Datefield eine native Datetime-Typ ist. Sie müssen strftime ('% m', datetime (datefield, 'unixepoch')) verwenden, wie in einer anderen Antwort erwähnt. –

8

Ich vermute, Sie möchten den Monat als Zeichenfolge erhalten. Nicht das freundlichste, aber Sie sehen wahrscheinlich den Punkt. Ersetzen Sie einfach das Datum ('jetzt') durch Ihre Variable.

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 
7

Versuchen Sie, die mit folgenden:

select strftime('%m', datetime(datefield, 'unixepoch')) as month from table 
Verwandte Themen