Функции SQL даты и времени требуют, чтобы дата находилась в распознанном формате.
Строки времени Строка времени может иметь любой из следующих форматов:
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
now
DDDDDDDDDD
SQL как понял SQLite - функции даты и времени
Ваш лучший (самый простой) вариант - сохранить их в формате ГГГГ-ММ-ДД ЧЧ: ММ (т.е. изменитьSimpleDateFormat соответственно).
Обратите внимание, что вам даже не понадобится функция datetime, поскольку прямое сравнение значений приведет к желаемому результату.
Хранение значения метки времени Unix будет более эффективным с точки зрения времени хранения / обработки.
Затем можно использовать функцию strftime, чтобы вернуть дату в нужном формате.
В противном случае вы можете преобразовать значение хранилища в распознанный формат, используя функции SQL, такие как substr, а затем выполнить сравнение. SQL в понимании SQLite - основные функции
Вот пример того, как можно обрабатывать данные, хранящиеся в формате ДД ММГ ГГГГ ЧЧ: ММ, при условии, что значение для сравнения указано в ГГГГММДДЧЧ:Формат MM: -
DROP TABLE IF EXISTS Offline_Range;
CREATE TABLE IF NOT EXISTS Offline_Range (end_time);
-- Add some test data dd MMM yyyy HH:mm
INSERT INTO Offline_Range VALUES
('21 May 2018 10:30'),
('21 Jun 2018 10:30'),
('21 Jul 2018 10:30'),
('21 Aug 2018 10:30')
;
SELECT * FROM Offline_Range
WHERE
substr(end_time,8,4)||
CASE
WHEN instr(end_time,'Jan') THEN '01'
WHEN instr(end_time,'Feb') THEN '02'
WHEN instr(end_time,'Mar') THEN '03'
WHEN instr(end_time,'Apr') THEN '04'
WHEN instr(end_time,'May') THEN '05'
WHEN instr(end_time,'Jun') THEN '06'
WHEN instr(end_time,'Jul') THEN '07'
WHEN instr(end_time,'Aug') THEN '08'
WHEN instr(end_time,'Sep') THEN '09'
WHEN instr(end_time,'Oct') THEN '10'
WHEN instr(end_time,'Nov') THEN '11'
WHEN instr(end_time,'Dec') THEN '12'
END
||
substr(end_time,1,2)||substr(14,5)
<
'2018062200:00' -- 22 Jun 2018 00:00 amended to suit i.e. the value input
Это создает таблицу: -

Результат запроса будет: -
