2013-06-25 32 views
0

我想比較兩個時間str,例如:2014-06-24和2013-06-25。他們都用「yyyy-MM-dd」格式化。在sqlite3中,我可以通過使用這個來獲得我的目的:「select julianday('2014-06-25') - julianday('2013-06-25')」,它返回365.android sqlite3:如何從光標獲取julianday函數的值?

但是當我使用它在Android中,我無法從cursor.Here值是我的代碼:

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

你必須準確地拼出列名,這是相當困難的。 更好地利用列別名:

db.rawQuery("SELECT ... AS d"); 
cursor.getInt(cursor.getColumnIndex("d")); 

但是,你知道有隻有一列,所以你可以用它的索引:

cursor.getInt(0); 
+0

你說什麼作品謝謝你很多!〜 –