2010-10-19 5 views
4

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

ответ

2

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

SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); 
Date d = sdf.parse("21.03.1997"); 
+0

Я должен сделать это в коде SQL, как: D datetime (d.objectstop) <= '"+ fb_str_date – 2red13

+0

и' strftime() 'также не работают? –

+0

не требовалось вводить значение в формате yyyy-MM-dd? если я попробую, я тоже получаю нуль – 2red13

1

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

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

Вы также можете превратите это в предложение where за this answer.

6

Я искал на Google для «sqlite3 даты ДДММГГГГ» и этот пост является лучшим решением (и только один, который работал для меня среди должностей, перечисленных в нижней части):

Проблема: 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 convert string to date
  2. SOLite:Date formatter in SQLite
  3. How can I convert datetime to date format in SQLite?
  4. Sqlite convert string to date
  5. How to convert a DD-MM-YYYY date format string into a YYYY-MM-DD date format string or into a NSDate object in Objective-C?