SQLite не имеет типа даты. Вы можете обойтись с сохранением дат в виде строк, но вам нужно использовать порядок даты ГГГГ-ММ-ДД, НЕ ММ-ДД-ГГГГ. Для этого есть две основные причины:
(1) Правильный заказ
С датами ГГГГ-ММ-ДД лексикографический порядок совпадает с хронологическим порядком, в результате чего операторы <
, >
и BETWEEN
работают как положено.
Это , а не в случае дат ММ-ДД-ГГГГ. Запрос на даты BETWEEN '11-15-2010' AND '12-25-2010'
будет ложно совпадать с '11-22-1963'
и '12-21-2012'
.
(2) Совместимость с SQLite функциями даты и времени .
Они принимают как строковые, так и числовые (юлианские) даты, но если вы передаете строку какой-либо из этих функций, она должна иметь порядок YYYY-MM-DD.