0
我在我的項目中有一個sqlite數據庫,我有3 year
,month
和day
字段。我想從我的表中獲取上週或上個月的信息,並使用遊標適配器將其顯示在listView中。我不知道該怎麼做。我的表不是很大,我的記錄按日期排序,所以迭代可以是一個答案。請以任何方式幫助我。得到上週從sqlite數據庫的信息
我在我的項目中有一個sqlite數據庫,我有3 year
,month
和day
字段。我想從我的表中獲取上週或上個月的信息,並使用遊標適配器將其顯示在listView中。我不知道該怎麼做。我的表不是很大,我的記錄按日期排序,所以迭代可以是一個答案。請以任何方式幫助我。得到上週從sqlite數據庫的信息
SELECT * FROM myTable WHERE DATE(timeStamp) >= DATE('now', 'weekday 0', '-7 days');
如果表是這樣的
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
請解釋一下這個語法。我想用我的領域來檢索日期。看我的編輯 –