2016-11-27 6 views
0

Ich versuche, Jahre in SQLite Where-Klausel mit SQL-Klausel zu bekommen. Es hat nicht funktioniert. Könnte mir jemand helfen? HierWie bekomme ich das vorherige Jahr in sqlite

ist, was ich versuche zu bekommen:

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

es die Zahl ist, die das Problem verursacht. Es scheint mir, dass subtrahieren 3 Werke in select-Klausel wie:

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

aber es hat nicht funktioniert, wenn die gleiche Phrase mit in where-Klausel

vielen vielen Dank

Jing

Antwort

0

Versuchen Sie beide Seiten Ihres Vergleichers wie folgt zu werfen:

Beispiel

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

Abfrage

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; 

Ergebnis

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

Vielen vielen Dank Zedfoxus! Funktioniert –

Verwandte Themen