在SQLite中获取日期范围之间的数据

时间:2017-02-16 12:57:40

标签: android sqlite datetime between

我想在日期范围之间获取数据。 日期在我的数据库中保存为TEXT(dd-MM-YYYY格式) 当我触发以下查询时,结果为空。

SELECT * FROM appointment_table WHERE date BETWEEN cast( '08-02-2017' as datetime ) AND cast( '16-02-2017' as datetime ) AND barber_id = 36

当日期以TEXT格式保存时,无论日期格式如何,在日期范围之间获取数据的正确方法如下所示

SELECT * FROM appointment_table WHERE date BETWEEN '08-02-2017' AND '16-02-2017' AND barber_id = 36

1 个答案:

答案 0 :(得分:1)

您需要使用此处描述的SQLLite支持的格式之一来使用BETWEEN: http://www.sqlite.org/lang_datefunc.html

所以你的查询应该变成:(将DD-MM-YYYY字符串转换为YYYY-MM-DD日期)

SELECT * FROM appointment_table WHERE barber_id = 36 AND (date BETWEEN '2017-02-08' AND '2017-02-16')