SQLite не имеет типа даты. На самом деле CURRENT_TIMESTAMP
возвращает строку в формате YYYY-MM-DD HH:MM:SS
. функции форматирования / вычисления даты / времени принимают строки в этом формате или, альтернативно, числа, которые интерпретируются как юлианские даты , если вы не используете 'unixepoch' модификатор.
Итак, «преобразование даты в строку» зависит от того, как вы храните даты:
- Если вы храните их как юлианские даты, используйте
DATE(YourDateColumn)
.
- Если вы храните их как Unix-раз, используйте
DATE(YourDateColumn, 'unixepoch')
.
- Если вы храните их как строки ISO 8601, тогда вам ничего не нужно делать. Если вам не нужна строка в другом формате, в этом случае вам следует использовать функцию
STRFTIME
.
- Если вы храните их как какой-либо другой формат строки, вам действительно следует рассмотреть возможность использования одного из поддерживаемых форматов, чтобы вы могли использовать функции даты / времени.
Во всех трех форматах даты хронологический порядок совпадает с лексикографическим порядком, поэтому функция MIN
работает, как и ожидалось.