Java 如何选择特定日期的某些行
我想使用sqlite数据库选择一些特定日期的行。 我使用e_日期作为文本的位置 创建表Java 如何选择特定日期的某些行,java,android,sql,mysqli,android-sqlite,Java,Android,Sql,Mysqli,Android Sqlite,我想使用sqlite数据库选择一些特定日期的行。 我使用e_日期作为文本的位置 创建表费用( idinteger主键自动递增, e_type文本不为空, e_date文本不为空, e_amt文本不为空, e_方法文本不为空, desctext ); 我尝试使用查询选择的位置 从e_日期在2014年7月31日至2014年8月15日之间的费用中选择* 但它不起作用。请帮我解决。尝试将日期存储为yyy-MM-dd等格式。你两次约会的例子 2014-07-31 2014-08-15 使用这种格式意味着
费用
(
id
integer主键自动递增,
e_type
文本不为空,
e_date
文本不为空,
e_amt
文本不为空,
e_方法
文本不为空,
desc
text
);
我尝试使用查询选择的位置
从e_日期在2014年7月31日至2014年8月15日之间的费用中选择*
但它不起作用。请帮我解决。尝试将日期存储为
yyy-MM-dd
等格式。你两次约会的例子
2014-07-31
2014-08-15
使用这种格式意味着您实际上可以按字母数字排序,也可以比较它们。如果您随后将查询更改为以下内容,它将起作用
SELECT * from expenses WHERE e_date >= '2014-07-31' AND e_date <= '2014-08-15'
此外,还有一个提示-不要在第一列中使用
id
,而是使用\u id
(注意前面的“下划线”)。如果您使用各种Android适配器和AdapterViews,有一个名为\u id
的列是必要的。关于重命名id
的好建议。但我建议使用尾随下划线,id\uuu
,而不是前导。SQL规范明确承诺永远不会使用带有尾随下划线的保留字。因此,在所有SQL名称上使用尾随下划线意味着永远不必担心或忍受与保留字和关键字的冲突。有关详细信息,请参阅。@BasilBourque:正如我提到的-当使用Android适配器和AdapterView类时,查询返回的数据集与游标一起使用时,必须有一个名为\u id
的唯一列。如果没有名为\u id
的列,甚至会引发一个特定的异常。
SELECT * from expenses WHERE e_date BETWEEN '2014-07-31' AND '2014-08-15'