Konvertieren eines Datums in MySQL aus einem String-Feld
Ich bin mit einem system, wo die Daten gespeichert werden als strings-im format dd/mm/yyyy
. Ist es möglich, zu konvertieren, das auf yyyy-mm-dd
in einer SELECT-Abfrage (so dass ich verwenden können DATE_FORMAT
)? Hat MySQL ein date-parsing-Funktion?
Derzeit die einzige Methode, die ich denken kann, ist die Verkettung einer Reihe von Teilstrings, aber ich hoffe es gibt eine einfachere Lösung.
(Leider kann ich nicht konvertieren Sie das Feld zu einem wahren date-Feld, da es ein meta-Tabelle: in der gleichen Spalte enthält Werte für verschiedene Felder, die nur strings.)
InformationsquelleAutor der Frage DisgruntledGoat | 2009-12-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
:
...konvertiert die Zeichenfolge in einen datetime-Datentyp. Um sicher zu sein, dass es in dem format, das Sie wünschen, verwenden Sie DATE_FORMAT:
Wenn Sie nicht ändern Sie den Datentyp auf die original-Spalte, schlage ich vor,erstellen einer Ansicht, verwendet die
STR_TO_DATE
Aufruf konvertieren Sie die Zeichenfolge in einen DateTime-Datentyp.InformationsquelleAutor der Antwort OMG Ponies
Ja, es gibt str_to_date
InformationsquelleAutor der Antwort nos
STR_TO_DATE können Sie dies tun, und es hat ein format-argument.
InformationsquelleAutor der Antwort monksy
InformationsquelleAutor der Antwort h4rp0