我在嘗試從SQLite數據庫獲取上一個周,月和年記錄時遇到了一些問題。我的數據庫表:SQL Statement獲取上週,月和年的記錄
我只設法獲得今天的紀錄,昨天,這周,這個月和這年。
對於本週:
SELECT SUM(amount) AS Total, (substr(date, 7, 4) || '-' || substr(date, 4, 2) || '-' || substr(date,1, 2)) AS currentDate FROM TransactionRec WHERE currentDate BETWEEN DATE('now', '-7 days') AND Date('now') GROUP BY currentDate
這個月:
SELECT SUM(amount) AS Total, (substr(date, 7, 4) || '-' || substr(date, 4, 2) || '-' || substr(date,1, 2)) AS currentDate FROM TransactionRec WHERE currentDate BETWEEN DATE('now', 'start of month') AND Date('now') GROUP BY currentDate
對於今年:
SELECT SUM(amount) AS Total, (substr(date, 7, 4) || '-' || substr(date, 4, 2) || '-' || substr(date,1, 2)) AS currentDate FROM TransactionRec WHERE currentDate BETWEEN DATE('now', '-1 year') AND Date('now')GROUP BY currentDate
但我不知道如何改變SQL語句來獲得last周,月和年。有任何想法嗎?
在此先感謝。
檢查這個參考http://www.sqlite.org/lang_datefunc.html。以及日期時間字符串如何格式化以使用日期時間函數。 – user3455363 2014-09-06 12:30:43
順便說一句,SQLite不支持strftime(),因爲它會使程序沒有響應 – 2014-09-06 12:32:11
如果正確使用'strftime()',它就可以正常工作。 – 2014-09-06 12:35:15