Sqlite选择日期范围之间的查询,日期格式为mm-dd-YYYY

时间:2013-08-22 13:07:19

标签: sqlite

我正在使用SQLite,我想让所有在01-01-200012-12-2010之间进行DOB的学生。我的数据库中的日期采用TEXTmm-dd-YY格式。我这样做了:

 SELECT * FROM student_details
  WHERE strftime('%m-%d-%Y', studentDob)
BETWEEN strftime('%m-%d-%Y', '01-01-2000')
    AND strftime('%m-%d-%Y', '12-12-2010')

但即使我的数据库中有记录,它也没有给出任何结果。 如果我的查询有任何错误,请帮助我。它甚至没有产生任何错误。

1 个答案:

答案 0 :(得分:3)

美国日期格式本质上是不可靠的,因为单位的排列不是一直增加或一致递减。但是,ISO(日语)样式日期可以按字母顺序排序,使其成为人类可读(和计算机可排序)表格中最优越的。

如果没有实用的日期格式,您必须将该文本字符串转换为可排序的内容,例如日语表单文本字符串或整数。

对于SQLite,请参阅Date and Time Functions

要在SQLite中解析日期字符串,请参阅此StackOverflow answer