Как удалить строки в Android таблице SQLite, где дата предшествует указанной дате (где дата в формате ММ / ДД / ГГГГ) - PullRequest
0 голосов
/ 15 января 2020

У меня есть Android таблица SQLite, и мне нужно удалить строки из таблицы, где дата до 05/01/2019. Я знаю, что это просто, если формат ГГГГ / ММ / ДД, однако формат это ММ / ДД / ГГГГ.

База данных содержит эти данные: "05/03/2019" "03/03/2019" "15.01.2020" "15.06.2020"

Когда я это делаю :

String whereClause=" created_date <= '05/01/2019'";
getContext().getContentResolver().delete(MyTable.CONTENT_URI, whereClause, null);

Будет удалена строка, содержащая: «01/15/2020, потому что, 01/15/2020 меньше 05/01/2019.

I'm исходя из предположения, что мне нужно будет извлечь все строки, затем выполнить итерацию по ним и преобразовать MM / DD / YYYY в YYYY / DD / MM, а затем удалить на основе сравнения дат.

1 Ответ

1 голос
/ 15 января 2020

Выполните рефакторинг строкового значения, чтобы упорядочить его, т. Е. Рефакторинг строкового значения из формата MM/DD/YYYY в формат YYYY/MM/DD с использованием substr() и || конкатенации строк:

String whereClause = " substr(created_date,7,4) || '/' || substr(created_date,1,5) <= '2019/05/01'";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...