Konvertieren von VARCHAR in ein Datum mit Monats- und Jahresextraktion in MySQL
So konvertieren Sie einen VARCHAR-Wert, der ein Datum darstellt, in einen reinen Datumswert in MySQL können Sie die Funktionen STR_TO_DATE und DATE_FORMAT verwenden. Wenn Sie den Monat und das Jahr jedoch ausdrücklich nur im JJMM-Format benötigen, müssen Sie Ihren Ansatz ändern.
Fehler bei der STR_TO_DATE-Konvertierung korrigieren
Ihre Verwendung von STR_TO_DATE versucht, einen Wert im Format „mm/tt/jjjj“ umzuwandeln. Ihr Beispieleingabewert („09.01.2011“) stimmt jedoch nicht mit diesem Format überein. Als Ergebnis erhalten Sie unerwartete Ausgaben wie „2009-01-00“.
LÖSUNG: Verwendung von DATE_FORMAT und STR_TO_DATE
Um den Monat und das Jahr im JJMM-Format zu erhalten können Sie die Funktionen DATE_FORMAT und STR_TO_DATE kombinieren als folgt:
SELECT DATE_FORMAT(str_to_date('1/9/2011', '%d/%m/%Y'), '%Y%m');
Dieser Ausdruck konvertiert den eingegebenen VARCHAR-Wert in ein Datum und formatiert ihn dann als „JJJJMM“. Das Endergebnis wird wie gewünscht „201101“ sein.
Zusätzlicher Hinweis:
Die Reihenfolge von Tag (TT), Monat (MM) und Jahr ( yyyy) in der Funktion STR_TO_DATE sollte mit dem Format Ihres Eingabe-VARCHAR-Werts übereinstimmen. Passen Sie die Formatzeichenfolge entsprechend an, wenn die Reihenfolge in Ihrem Fall abweicht.
Das obige ist der detaillierte Inhalt vonWie kann ich den Monat und das Jahr im JJMM-Format aus einem VARCHAR-Datum in MySQL extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!