2013-08-06 17 views
0

我在我的項目中有一個sqlite數據庫,我有3 yearmonthday字段。我想從我的表中獲取上週或上個月的信息,並使用遊標適配器將其顯示在listView中。我不知道該怎麼做。我的表不是很大,我的記錄按日期排序,所以迭代可以是一個答案。請以任何方式幫助我。得到上週從sqlite數據庫的信息

回答

0
SELECT * FROM myTable WHERE DATE(timeStamp) >= DATE('now', 'weekday 0', '-7 days'); 
+0

請解釋一下這個語法。我想用我的領域來檢索日期。看我的編輯 –

0

如果表是這樣的

CREATE TABLE t(some_data, year, month, day); 

INSERT INTO t(some_data, year, month, day) 
        SELECT ABS(RANDOM()%10000), 2013, 8, 6 UNION ALL 
        SELECT ABS(RANDOM()%10000), 2013, 8, 4 UNION ALL 
        SELECT ABS(RANDOM()%10000), 2013, 8, 01 UNION ALL 
        SELECT ABS(RANDOM()%10000), 2013, 07, 31 UNION ALL 
        SELECT ABS(RANDOM()%10000), 2013, 7, 30 UNION ALL 
        SELECT ABS(RANDOM()%10000), 2013, 7, 25 UNION ALL 
        SELECT ABS(RANDOM()%10000), 2013, 07, 24 UNION ALL 
        SELECT ABS(RANDOM()%10000), 2013, 7, 23 UNION ALL 
        SELECT ABS(RANDOM()%10000), 2013, 7, 20 UNION ALL 
        SELECT ABS(RANDOM()%10000), 2013, 7, 10 UNION ALL 
        SELECT ABS(RANDOM()%10000), 2013, 7, 9 
; 

這是一個可能的解決方案

SELECT some_data, year 
    || '-' || 
    CASE WHEN LENGTH(month) = 2 THEN month 
     WHEN LENGTH(month) = 1 THEN 0 || month 
    END 
    || '-' || 
    CASE WHEN LENGTH(day) = 2 THEN day 
     WHEN LENGTH(day) = 1 THEN 0 || day 
    END as d 
FROM t 
WHERE DATE(d) >= DATE('now', '-7 days') 
ORDER BY d; 


some_data d   
---------- ---------- 
7455  2013-07-30 
6123  2013-07-31 
6903  2013-08-01 
9332  2013-08-04 
1895  2013-08-06