SQLite обрабатывает ваши даты как строки, просто сортируя их так, как если бы они сортировали строки. SQLite не имеет определенного типа данных для DATE. Вам необходимо хранить значения даты в соответствии с функциями даты / времени SQLite.
Из документации по SQLite:
SQLite не имеет класса хранения, выделенного для хранения дат и / или времени. Вместо этого встроенные функции даты и времени в SQLite могут хранить даты и время в виде значений TEXT, REAL или INTEGER:
* TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").
* REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
* INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.
Приложения могут сохранять даты и время в любом из этих форматов и свободно конвертировать между форматами, используя встроенные функции даты и времени. Как Unix Time, количество секунд с 1970-01-01 00:00:00 УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ.
См. Типы данных в SQLite версии 3 и Функции даты и времени