2016-11-27 137 views
0

我想在sqlite where子句中使用sql子句獲得前幾年。它不起作用。有人能幫助我嗎?如何在sqlite中獲得前一年

這裏是我想獲得:

 select * from Spending where strftime('%Y',Spending_DT)<= strftime('%Y', date('now'))-3; 

它是導致問題的數量。在我看來,那。減去在選擇第3部的作品如:

select strftime('%Y', date('now'))-3; 
    output=2013 

但它並沒有使用在where子句

很多很多的感謝

回答

0

工作相同的短語時試試您鑄造比較兩側,像這樣:

select * from test; 
spending_Dt 
----------- 
2012-03-03 
2013-03-03 
2014-03-03 
2015-03-03 
2016-03-03 

查詢

select strftime('%Y', spending_dt) as years 
from test 
where cast(strftime('%Y', spending_dt) as int) <= cast(strftime('%Y', date('now')) as int)-3; 

結果

years 
---------- 
2012 
2013 
+1

很多很多的感謝Zedfoxus!作品 –

相關問題