2017-06-08 6 views
0

Dies ist meine Abfrage, Daten zwischen zwei Daten auszuwählen. Ich weiß, das ist doppelte Frage, aber sie ist ein kleines Problem für meine Situation.Auswählen von Daten zwischen zwei Daten für manuell eingefügte Daten

Die Daten, die I m Speicherung werden manuell eingefügt db Drop-Down-Liste unter Verwendung der VARCHAR Datentyp

Problem ist: Daten Die Ergebnisse für diese Abfrage Datum (dd) Werten wählt nur und vergleicht nicht ganze Reihe Datum

Dies ist das Ergebnis im bekommen, die gut 7 als Daten von Monat wählt

bday 
    09-06-1985 
    08-06-1990 
    09-07-1991 
+2

Speichern Sie keine Daten als varchar. Speichern Sie sie als Daten, sonst verhalten sie sich nicht so wie Vergleichsoperationen. – Jan

+0

Aber Benutzer wählt Daten durch Dropdown-Liste @JanKaltoun –

+1

Sie müssen die Eingänge bereinigen und konvertieren/speichern Sie als Daten. – Jan

Antwort

1

wie andere Leute in den Kommentaren schreiben, ist es immer am besten, Datetime-Daten zu verwenden, Geben Sie das Datum ein. Sie können Ihr Varchar-Datum wie folgt vergleichen

SELECT * FROM users 
WHERE STR_TO_DATE(birthday, '%d-%m') 
    BETWEEN STR_TO_DATE('08-06', '%d-%m') 
    AND STR_TO_DATE('15-06', '%d-%m') 
+0

Okay Thankyou. Aber ist es möglich, Datum mit TT-MM-JJJJ zu speichern? –

+0

@AbhishekBurkule ja, – Adrian