我想比较两个时间段,例如:2014-06-24和2013-06-25。它们都是用“yyyy-MM-dd”格式化的。在sqlite3中,我可以通过以下方式获得我的目的:“选择julianday('2014-06-25') - julianday('2013-06-25')”,返回365.
但是当我在android中使用它时,我无法从cursor获取值。这是我的代码:
Cursor timeCursor = mDbHelper.rawQuery("select julianday('2014-06-25') -julianday('2013- 06-25')",null);
if (timeCursor.getCount() > 0 && timeCursor.moveToFirst()) {
int time = timeCursor.getInt(timeCursor.getColumnIndex("julianday('2014-06-25') -
julianday('2013-06-25')"));
}
但时间是0。 所以这是我的问题:如何从光标中获取正确的值或者有更好的方法来获取它?
答案 0 :(得分:0)
你必须准确拼写列名,这是相当困难的。 更好地使用列别名:
db.rawQuery("SELECT ... AS d");
cursor.getInt(cursor.getColumnIndex("d"));
但是,知道只有一列,所以你可以只使用它的索引:
cursor.getInt(0);