这是我的桌子。
CREATE TABLE Income (id INTEGER PRIMARY KEY AUTOINCREMENT, type TEXT, amount DOUBLE, sdate DATE, way TEXT,desc TEXT)
之后我想通过sdate列搜索日期排序
这是我的查询,但没有从此查询中输出。
SELECT * from Income where sdate=DATE('now', 'weekday 0', '-7 days')
答案 0 :(得分:0)
将文章更改为TEXT
我尝试过的查询并得到了相应的结果;
SELECT * FROM Income WHERE sdate BETWEEN date('now', '-6 days') AND date('now', 'localtime');
SELECT * FROM Income WHERE sdate >= date('now', 'start of month') AND sdate <= date('now', 'localtime');
您也可以使用静态日期:
SELECT * FROM Income WHERE sdate >= '2016-02-01' and sdate <= '2016-03-01';
同样,this中给出的所有三个都在stackoverflow上回答。
现在,一旦你得到这一天,一周,一个月,你可以使用这个变量通过使用AND子句来生成最终查询。
如果您只想按日期使用排序顺序而不是
SELECT * FROM Income WHERE sdate BETWEEN date('now', '-6 days') AND date('now', 'localtime') ORDER by sdate;
因此,您可以根据需要获得结果。