2017-04-08 6 views
0

Ich versuche, die Datensätze aus der SQLite-Datenbank basierend auf Datum und Datum abzurufen. Zum Beispiel: Holen Sie sich die Aufzeichnungen, die birthDay zwischen 2. Februar bis 5. März hat. Das Problem ist, dass die DOB-Spalte auch Geburtstagsjahr der Person speichern und ich möchte nicht das Jahr betrachten, um Datensätze zu holen. Das Format zum Speichern von DOB in der Datenbank ist TT-MM-JJJJ (02-02-1990).Abrufen von Datensätzen von SQLite basierend auf Von Datum bis Datum

Antwort

1

Erstellen Sie weitere 2 Spalten, die nur Tag und Monat speichern. dann die Abfrage Beispiel ist

select * from table1 where day between 1 and 5 and month between 2 and 5 
+0

Dank, es ist eine einfache Lösung. –

+0

Diese Abfrage funktioniert nicht, wenn der Tag zum Beispiel vom 10. Februar bis zum 10. Juni identisch ist. Ich habe diesen Fehler unter "Abfrage in neuer Antwort" behoben. –

1
//Concatenate MonthDayFields and use between statement to fetch records 

// This Query will Fetch Records From 5 Oct to 5 Apr 

SELECT *,substr('00'||DOB_Month,-2,2) || substr('00'||DOB_Day, -2, 2) 
as 'myField' FROM Table1 
WHERE (myField BETWEEN "1005" AND "1231") OR (myField BETWEEN "0101" AND "0405") 


// This Query will Fetch Records From 5 Apr to 18 Oct 

SELECT *,substr('00'||DOB_Month,-2,2) || substr('00'||DOB_Day, -2, 2) 
as 'myField' FROM Table1 
WHERE myField between "0405" and "1018" 
Verwandte Themen