我使用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的费用中选择*;
但它无法帮助我..
答案 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
的列。