如何选择特定日期的某些行

时间:2014-08-16 06:14:09

标签: java android sql mysqli android-sqlite

我使用sqlite datebase我想选择某些特定日期的行。 我在哪里使用e_date作为文本

CREATE TABLE expenses(     id整数PRIMARY KEY AUTOINCREMENT,     e_type文本NOT NULL,     e_date文本NOT NULL,     e_amt文本NOT NULL,     e_method文本NOT NULL,     desc文字 );

我试图选择使用查询

从2014年7月31日到15/8/2014之间e_date的费用中选择*;

但它无法帮助我..

1 个答案:

答案 0 :(得分:2)

尝试以ISO 8601格式存储日期,例如yyyy-MM-dd。两个日期的例子......

2014-07-31
2014-08-15

使用该格式意味着您实际上可以按字母顺序排序并进行比较。如果您然后将查询更改为类似以下内容,它将起作用...

SELECT * from expenses WHERE e_date >= '2014-07-31' AND e_date <= '2014-08-15'

编辑:考虑一下,如果使用ISO 8601格式,您实际上可以使用SQL BETWEEN运算符,但必须使用单引号来包围字符串。

SELECT * from expenses WHERE e_date BETWEEN '2014-07-31' AND '2014-08-15'

另外,只是提示 - 不要使用id作为第一列,请改用_id(注意前面的&#39;下划线&#39;)。如果您使用各种Android适配器和AdapterView,则需要一个名为_id的列。