【发布时间】:2018-03-15 12:28:51
【问题描述】:
我在 Android 中使用 SQLITE 数据库。
创建表查询是:
String CREATE_TBookOrder = "CREATE TABLE IF NOT EXISTS BookOrder (" +
" `OrderId` INTEGER ," +
" `OrderDate` DATE ," +
" `OrderTotal` DOUBLE " +
")";
我正在尝试使用以下查询在日期之间获取数据:
SELECT OrderId , OrderTotal FROM BookOrder
WHERE OrderId = 55 AND ( OrderDate BETWEEN '2018-01-01' AND '2018-12-12')
但我收到的响应为零记录。
我获取数据的代码是:
String queryStr = "SELECT OrderId , OrderTotal FROM BookOrder WHERE OrderId = 55 AND ( OrderDate BETWEEN '2018-01-01' AND '2018-12-12')";
sqLiteDatabase = this.getWritableDatabase();
cursor = sqLiteDatabase.rawQuery(queryStr, null);
if (cursor.moveToFirst()) {
do {
Log.d("data", "sub OrderId " + cursor.getInt(0));
Log.d("data", "sub OrderTotal " + cursor.getFloat(1));
Log.d("data", "--------------");
} while (cursor.moveToNext());
}
sqLiteDatabase.close();
这在 SQL Server 上运行顺利,但在 SQLITE Android 上运行不成功。
【问题讨论】:
-
SQLite 没有日期数据类型。您在此列中存储的实际值是多少?
-
我将Sqlite中OrderDate的DataType改为Text,还是没有结果
标签: android performance sqlite date android-sqlite