Musisz zmienić format ciągu daty, który chcesz podać, aby móc go wstawić za pomocą funkcji STRFTIME. Powodem jest, nie ma opcji na skrót miesiąca:
%d day of month: 00
%f fractional seconds: SS.SSS
%H hour: 00-24
%j day of year: 001-366
%J Julian day number
%m month: 01-12
%M minute: 00-59
%s seconds since 1970-01-01
%S seconds: 00-59
%w day of week 0-6 with sunday==0
%W week of year: 00-53
%Y year: 0000-9999
%% %
Alternatywą jest format daty/godziny do już przyjętego formatu:
- YYYY-MM-DD
- YYYY- MM-DD HH: MM
- RR-MM-DD HH: MM: SS
- RR-MM-DD HH: MM: SS.SSS
- RR-MM DDTgg: MM
- RR-MM DDTgg: MM: SS
- RR-MM DDTgg: MM: SS.SSS
- HH: MM
- HH: MM: SS
- HH: MM: SS.SSS
- teraz
referencyjny: SQLite Date & Time functions
Jak jedno zamówienie według daty z takich ciągów? –
Podczas formatowania dat takich jak to, porządkowanie dat i porządkowanie leksykalne działają tak samo. Na przykład. "2008-02-01"> "2007-02-01", "2008-01-02"> "2008-01-01" zarówno jako ciągi, jak i daty. Ale nie musisz się tym specjalnie przejmować, ponieważ SQLite ORDER BY zajmie się zamówieniem. – itowlson
Należy zauważyć, że nie można wiarygodnie porównać dat z różną precyzją, stosując porządek leksykalny, np. "WYBIERZ" 2007-01-02 10:00:00 "> '2007-01-02 10:00';" zwraca 1, ale "WYBIERZ datetime (" 2007-01-02 10:00:00 ")> datetime (" 2007-01-02 10:00 ");" zwraca 0. – Shane