sqlite convert форматированная строка 'dd.MM.yyyy' на сегодняшний день - PullRequest
4 голосов
/ 19 октября 2010

У меня есть база данных sqlite на моем андроиде со столбцом datetime, который содержит дату в формате dd.MM.yyyy.Это не моя база данных, я не могу изменить формат даты.Я хочу сравнить дату в базе данных со строкой, которая представляет вторую дату, но все, что я пробовал, не удалось.Как я могу преобразовать этот столбец в допустимую сопоставимую дату?date (), dattime () sdfttime () все возвращает NULL.

Ответы [ 3 ]

7 голосов
/ 16 октября 2011

Я искал в Google "sqlite3 date ddmmyyyy", и этот пост - лучшее решение (и единственный, который работал для меня среди постов, перечисленных внизу):

Проблема: Таблица SQLite содержит даты в формате DD/MM/YYYY и должна быть преобразована в собственный формат SQLite YYYY-MM-DD

Пример проблемы:

sqlite> select id, calendar_day from tbl1;
id;calendar_day
4248281;2011-06-19
4248282;2011-06-19
4248283;19/06/2011
4248284;19/06/2011

Пример решения:

sqlite> update tbl1 set calendar_day = substr(calendar_day, 7) || "-" || substr(calendar_day,4,2)  || "-" || substr(calendar_day, 1,2) where id>4248282;

Пример результата:

sqlite> select id, calendar_day from tbl1;
id;calendar_day
4248281;2011-06-19
4248282;2011-06-19
4248283;2011-06-19
4248284;2011-06-19

Спасибо всем!

Другие сообщения проверены:

  1. Sqlite преобразовать строку в дату
  2. SOLITE: Форматирование даты в SQLite
  3. Как я могу преобразоватьформат даты / времени в SQLite?
  4. Sqlite преобразует строку в дату
  5. Как преобразовать строку формата даты DD-MM-YYYY вYYYY-MM-DD строка формата даты или объект NSDate в Objective-C?
2 голосов
/ 19 октября 2010

Вы хотите сделать это в базе данных (SQL) или в программном коде? В Java вы можете использовать SimpleDateFormat

SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
Date d = sdf.parse("21.03.1997");
1 голос
/ 13 мая 2011

Попробуйте этот запрос, чтобы изменить столбец на правильный формат для текстовой даты (предположим, таблица с именем table и столбец с именем date):

update table set date = substr(date, 7) || "-" || substr(date,4,2) 
  || "-" || substr(date, 1,2);

Вы также можете превратить это в предложение where для этого ответа .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...