2013-06-13 17 views
6

W moim stole mam pola datetime, która przechowuje daty w następującym formacie:wybrać tylko czas od pola datetime w SQLite

YYYY/mm/dd HH:MM:SS 

teraz muszę odzyskać poprzez kwerendy tylko czas.

Próbowałem to

SELECT time(start_date) 
FROM table 
LIMIT 100 

ale bez powodzenia, to daje mi „nie błąd”, ale żadne rekordy powrócić

jakiś pomysł?

EDIT

Rozwiązałem go! Problem polega na tym, że SQLite potrzebuje Timesa w formacie, w którym jeśli godziny, minuty i sekundy są mniejsze niż 10, muszą być reprezentowane przez zero.

Na przykład

  H:M:S 
WRONG --> 12:1:30 
RIGHT --> 12:01:30 

Ponadto odpowiedni format, dat jest RR-mm dd nie RR/mm/dd.

Odpowiedz

3

Istnieje funkcja wbudowana w SQLite o nazwie strftime (format, datetime), której można użyć do uzyskania dowolnej informacji, której potrzebujesz od danej daty. W twoim przypadku możesz użyć w ten sposób:

SELECT strftime('%H:%M:%S',start_date) FROM table LIMIT 100; 
Powiązane problemy