mysql: suchen ZWISCHEN gespeicherten Daten als varchar

möchte ich select * from table where dates between (some_date and another_date)

das problem ist, dass die Daten gespeichert werden, als varchar!

hier sind Beispiele von Daten, die ich habe:

7/29/2010 9:53 AM
7/16/2010 7:57:39 AM

bitte beachten Sie, dass einige Datensätze Sekunden und manche nicht

i dont care über die Zeit, ich brauche nur das Datum

reporttime ist die date Feld

ist dies nicht funktioniert:

SELECT * FROM batchinfo 
 where cast(reporttime as date) between ('7/28/10' and '7/29/10')

diese:

SELECT * from batchinfo WHERE reporttime BETWEEN STR_TO_DATE(7/28/2010, '%m/%/d/%Y %h:%i:%s %p')
                AND STR_TO_DATE(7/29/2010, '%m/%/d/%Y %h:%i:%s %p')

zurück:

Truncated incorrect datetime value: '7/8/2010 11:47 AM'
Incorrect datetime value: '0.00012009' for function str_to_date

diese:

SELECT * from batchinfo WHERE STR_TO_DATE(reporttime, '%m/%/d/%Y %h:%i:%s %p') BETWEEN STR_TO_DATE(7/28/2010, '%m/%/d/%Y')
                                                           AND STR_TO_DATE(7/29/2010, '%m/%/d/%Y')

zurück:

Incorrect datetime value: '7/8/2010 11:47 AM' for function str_to_date

OMG PONYS:

nehme ich alles vor dem ersten Leerzeichen:

SELECT * from batchinfo WHERE STR_TO_DATE(LEFT(reporttime,LOCATE(' ',reporttime)), '%m/%/d/%Y') BETWEEN STR_TO_DATE(7/28/2010, '%m/%/d/%Y')
                                                           AND STR_TO_DATE(7/29/2010, '%m/%/d/%Y')

und jetzt bekomme ich dieses Ergebnis:

Incorrect datetime value: '7/8/2010' for function str_to_date
  • Siehe meinen update - in der Zukunft, es würde helfen, wenn Sie mehr darüber im klaren, was das Problem war am start. Bieten Beispiel-Daten, die die Struktur einer Tabelle, und erwartete Ausgabe.
  • Siehe meine aktualisierte Antwort
  • Das Datum-format, das ich zur Verfügung gestellt haben, war falsch. Sollte '%m/%d/%Y'. Auch, wenn Sie Termine in Ihren Abfragen, setzen Sie Sie in Anführungszeichen ein " (weil Sie sind in der Tat strings)
  • du bist der Mann, vielen Dank für die Hilfe!!!!!!!!!!!!!!
Schreibe einen Kommentar