Допустим, у меня есть база данных, которая включает в себя такую таблицу:
CREATE TABLE tbl_EX (_id TEXT, TIME TEXT);
И затем я вставляю значение, подобное этому:
Date currentTime = Calendar.getInstance(Locale.getDefault()).getTime();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
String time = dateFormat.format(currentTime);
ContentValues contentValues = new ContentValues();
contentValues.put("_id", "SomeID");
contentValues.put("TIME", time);
database.insert("tbl_EX", null, contentValues);
После этогоЯ пытаюсь запросить.Без WHERE
предложения:
database.query("tbl_EX", new String[]{"_id", "TIME"}, null, null, null, null, "TIME");
Он получил все записи, как и ожидалось, которые показаны в 2 TextView следующим образом:
_id = SomeID | Time = 2019-03-30 15:00:00
НО, когдаЯ делаю запрос с помощью этого WHERE
предложения:
database.query("tbl_EX", new String[]{"_id", "TIME"}, "date(TIME) = ?", new String[]{"date('now')"}, null, null, "TIME");
Данные не найдены!Я даже пытаюсь заменить деталь new String[]{"date('now')"}
на
new String[]{"date('2019-03-30')"}
или
new String[]{"strftime('%Y-%m-%d', 'now')"}
или даже
new String[]{"'2019-03-30'"}
, но все равно нет.
Итак, я сохранил данные DateTimeв базе данных SQLite правильно?И правильно его запрашивать ??