0

我正在使用 SQLite,我想让所有 DOB 介于01-01-2000和之间的学生12-12-2010。日期在我的数据库中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')

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

4

1 回答 1

3

美国日期格式本质上是不可排序的,因为单位不是以一致的递增或递减的顺序排列的。然而,ISO(日文)风格的日期可以按字母顺序排序,使其成为最优秀的人类可读(和计算机可排序)形式。

在没有实用的日期格式的情况下,您必须将该文本字符串转换为可排序的内容,例如日文形式的文本字符串或整数。

对于 SQLite,请参阅日期和时间函数

要在 SQLite 中解析日期字符串,请参阅这个StackOverflow 答案

于 2013-08-22T13:12:29.280 回答