Я использую базу данных SQLite (не моя), и мне нужно отсортировать некоторые данные, упорядочить по дате.Дата сортировки, хранящаяся в базе данных SQLite
Я сделал много поисковых запросов в Интернете, но решений не найдено!
Тип поля с датами является «Дата», с форматом: DD/MM/YYYY HH:mm:SS
Я пробовал много функций, таких как STRFTIME, DateTime, дата, ... Но я не могу правильно сортировать дату. Например, если я что-то вроде этого:
SELECT * FROM events ORDER BY start_date
Дата 04/10/2013 00:00:00 после 03/12/2013 ... Вы знаете, что я имею в виду?
Я действительно не знаю, как я могу сортировать в этом формате.
Спасибо за вашу помощь
UPDATE 1:
Я пытался что-то вроде этого:
SELECT start_date FROM events ORDER BY strftime('%d/%m/%Y %H:%M:%S', start_date)
это правильный способ сделать? Результаты: Ошибка, но ничего не изменилось. Даты не сортируются.
ОБНОВЛЕНИЕ 2:
Решение по laalto:
select * from tab order by substr(col,7,4)||'-'||substr(col,4,2)||'-'||substr(col,1,2)||'T'||substr(col,12);
Посмотрите на функцию STRFTIME(), который позволяет вам выбрать определенную часть даты (час, полная дата, время и т.д.), а затем для того, что. не уверен, почему ваш не работает. НАПРИМЕР. - SELECT * FROM events ORDER BY strftime ('% s', start_date) –
Спасибо, Стивен, я сейчас смотрю;) – Lapinou
Возможно, вы захотите проверить формат даты? Это в мм/дд/гггг? Если да, то все, что вы получаете, является правильным. Я не думаю, что вам нужно использовать функции даты для упорядочения по дате столбца – IndoKnight