Alle,
Ich habe eine MYSQL-Tabelle mit einer Spalte namens timestamp. Es ist von DATETIME
Datentyp und hat Werte wie "01.10.2009 15:25:08", "01.10.2009 15:30:05", "04.10.2009 3:40:01" PM ', etc ..
Ich möchte eine SQL-Abfrage schreiben, um alle Werte im Zeitstempelfeld zu wählen, die zwischen zwei Daten vorkommen. Etwas wie dieses:
%Vor%Die userInput-Daten haben keine Zeitabschnitte. Können Sie bitte die korrekte MySQL Query Syntax dafür vorschlagen? Danke
Dies wird jeden Datensatz mit einem Datum zwischen userStartDate
und userEndDate
auswählen, vorausgesetzt diese Felder haben den Typ DATE
(ohne Zeitanteil).
Wenn die Start- und Enddaten als Strings kommen, verwenden Sie STR_TO_DATE
, um von einem beliebigen Format zu konvertieren:
Für beste Ergebnisse bei Verwendung von
BETWEEN
mit Datums- oder Uhrzeitwerten sollten SieCAST()
verwenden, um die Werte explizit in den gewünschten Datentyp zu konvertieren. Beispiele: Wenn Sie einDATETIME
mit zweiDATE
Werten vergleichen, konvertieren Sie dieDATE
Werte inDATETIME
Werte. Wenn Sie eine String-Konstante wie'2001-1-1'
in einem Vergleich mit einemDATE
verwenden, müssen Sie die Zeichenfolge in einDATE
umwandeln.
-
Ссылка