如何在sqlite中获取具有特定日期的行?

时间:2011-11-03 03:54:53

标签: android sqlite

所以现在我正在使用这个查询:

select * from items where mydate = "2009-11-28"

并且由于我的日期存储为yyyy-mm-dd格式的文本,这应该通过所有方式返回具有匹配日期的一行,对吧?如果没有,我做错了什么?

我试过这样做:

select * from items where releasedate between date("2009-11-28") and date("2009-11-29")

并且它工作正常,但总是只需要在一天之间使用似乎不对。

所以第二个查询工作正常,但第一个不行。有原因吗?我也尝试将日期放在date()中,但这也没有用。

3 个答案:

答案 0 :(得分:4)

尝试此查询,

select * from items where mydate like '2009-11-28%'

答案 1 :(得分:1)

您的insert语句是什么样的,表定义是什么样的?我敢打赌你需要使用'date'函数转换第一个查询字符串中的日期,而不是使用原始字符串。

此外,如果您要转换实际日期,请确保其完全“2009-11-28”。如果你做一般的日期参数,你可能不完全是在午夜,并且范围将是一种有效的查询方式,而不是固定的日期值。

答案 2 :(得分:0)

select * from items where mydate = "2009-11-28"  // Here do not use double quotation

相反,试试这个

select * from items where mydate = '2009-11-28'