使用DateTime格式的Date部分检索SQLite数据

时间:2015-07-08 11:00:14

标签: android ios sqlite

我想使用日期从sqlite中检索日期。但默认情况下,插入的sqlite中的列是日期时间格式。

例如,这是我的类型表

_id date_value

1 2015-07-06T11:36:35

2 2015-07-06T12:10:10

3 2015-07-06T12:10:19

4 2015-07-03T17:13:59

2015-07-03T17:14:04

6 2015-07-03T17:14:27

我想仅使用日期检索数据。我想如何查询?

我试图像这样检索:从类型中选择*,其中date_value = date(' 2015-07-03T17:13:59') 它返回零行。

我需要日期(2015-07-03)匹配的所有行

预期结果: _id date_value

4 2015-07-03T17:14:27

2015-07-03T17:14:04

6 2015-07-03T17:14:27

我应该如何实现这一输出?

2 个答案:

答案 0 :(得分:2)

date()函数只返回其参数的日期部分,因此date('2015-07-03T17:13:59')的结果为'2015-07-03'。此值与date_value列中的任何值都不匹配。

您需要从date_value列中的值中提取日期:

Select * from Type where date(date_value) = '2015-07-03'

答案 1 :(得分:-1)

使用SimpleDateFormat将Date格式化为字符串:

DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-DD hh:mm:ss");

String todayAsString = dateFormat.format(today);
String tomorrowAsString = dateFormat.format(tomorrow);

System.out.println(todayAsString);
System.out.println(tomorrowAsString);

Prints:

2015-07-03 16:14:27
2015-08-03 16:14:27