我正在尝试根据更新时间选择一些帐户..
我的表名为帐户,其列有createdOn , updatedOn, acountName
等。
现在日期存储为字符串2012-03-20
如何根据日期进行SQL查询以选择差异帐户。
这是我的代码
public ArrayList<Account> getAllAccountsForReports(Date dateTo, Date dateFrom)
{
ArrayList<Account> accounts = new ArrayList<Account>();
String queryString = "SELECT * FROM MAAccounts WHERE updatedOn = ? BETWEEN updatedOn = ? ORDER BY accountType, accountName";
Cursor result = mDb.rawQuery(queryString, new String[]{ dateToDB(dateTo), dateToDB(dateFrom)});
请告诉我如何更正我的SQL查询。
最好的问候
答案 0 :(得分:1)
您的BETWEEN
语法已关闭,您可能想要的是什么;
SELECT * FROM MAAccounts
WHERE updatedOn
BETWEEN ? AND ?
ORDER BY accountType, accountName
由于您通过'yyyy-MM-dd'进行存储,因此使用字符串应该可以正常工作。
我不确定要使用哪个表名,因为你说它在问题中被称为account
而在代码中被称为MAAccounts
并且列中的列拼写错误,所以当然您需要根据实际的列名进行调整。