Bạn phải thay đổi định dạng của chuỗi ngày bạn đang cung cấp để có thể chèn nó bằng chức năng STRFTIME. Lý do là, không có tùy chọn cho một từ viết tắt tháng:
%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
%% %
Cách khác là để định dạng ngày/giờ vào một định dạng đã được chấp nhận:
- YYYY-MM-DD
- YYYY- MM-DD HH: MM
- YYYY-MM-DD HH: MM: SS
- YYYY-MM-DD HH: MM: SS.SSS
- YYYY-MM-DDThh: mm
- YYYY-MM-DDThh: MM: SS
- YYYY-MM-DDThh: mm: SS.SSS
- HH: MM
- HH: MM: SS
- HH: MM: SS.SSS
- tại
tham khảo: SQLite Date & Time functions
Nguồn
2009-12-19 18:28:33
như thế nào một thứ tự theo ngày với chuỗi như vậy? –
Khi bạn định dạng các ngày như thế này, thứ tự ngày tháng và thứ tự từ vựng sẽ hoạt động giống nhau. Ví dụ. '2008-02-01'> '2007-02-01', '2008-01-02'> '2008-01-01' cả dạng chuỗi và ngày tháng. Nhưng bạn không hoàn toàn cần phải quan tâm đến điều này bởi vì SQLite ORDER BY sẽ chăm sóc đặt hàng cho bạn. – itowlson
Lưu ý rằng bạn không thể so sánh đáng tin cậy các ngày có độ chính xác khác nhau bằng cách sử dụng thứ tự từ vựng, ví dụ: "SELECT" 2007-01-02 10:00:00 '>' 2007-01-02 10:00 '; " trả về 1 nhưng "datetime SELECT ('2007-01-02 10:00:00')> datetime ('2007-01-02 10:00');" trả về 0. – Shane