sqlite3中查询问题之间的日期

时间:2014-03-07 14:18:56

标签: c sqlite

在我的数据库中,我存储了以下日期格式的一个学生数据是07-03-2013(dd-mm-yyyy)。例如,开始日期大于结束日期,结果中没有行返回。

对于前。

从general_details中选择student_name,其中join_date介于'11 -02-2013'和'08 -03-2013'之间

它返回0

如果开始日期小于结束日期

从general_details中选择student_name,其中join_date介于'01 -02-2013'和'08 -03-2013'之间

返回行值1;

请提前建议

1 个答案:

答案 0 :(得分:1)

日期按字母顺序进行比较,而不是日期时间标记。

如果您可以影响日期的存储方式,请使用ISO-8601 yyyy-MM-dd或unix epoc时间戳等格式进行比较。

如果您无法影响数据,可以通过使用substr()选取组件并与||连接来转换SQL中的值,如下所示:

substr(join_date,7,4) || substr(join_date,4,2) || substr(join_date,1,2)