2017-07-12 3 views
-1

Ein Entwickler erstellt eine Tabelle für uns und machte ein Datumsfeld als VARCHAR (255) und einen Feldnamen von "Requested Ship Date".seltsames Ergebnis für str_to_date in mysql

Zuerst ja, ich weiß, dass beide schlechte Datenbankverwaltung sind, aber ich war nicht am Erstellungspunkt beteiligt, gerade jetzt in den Berichten bitte dagegen laufen.

Also, ich versuche, dieses Feld in einen Datumswert zu konvertieren, und wurde mit STR_TO_DATE(Requested Ship Date,"%m/%d/%y") (es die korrekten Syntax im Code hat)

Das Problem ist, ich bin ein seltsames Ergebnis. "Requested Ship Date" = 31/31/2017 nach der Umstellung erscheint es als 2020-05-31.

Vielen Dank im Voraus.

+1

Nur Daten als Daten speichern und mit all dieser Dummheit aufhören – Strawberry

Antwort

1

%y ist das Jahr ohne das Jahrhundert, %Y ist das Jahr mit das Jahrhundert.

So wird 2017 als '20 interpretiert wird, die bis zum Jahr 2020

+0

von sollte es nicht das Datum im Format von 5/31/20 und nicht 2020-05-31 setzen? – DragonRider

+0

Wenn ich Ihren Code richtig lese, werden Sie * von * ein Datum des Formats 'MM/DD/YY' konvertieren, nicht zu. – tadman

0

ist Dies ist das Ergebnis ich aus meiner Anfrage bin immer

05/30/2017 05/31/2017 2017-05-30

05/30/2017 05/31/2017 2017-05-30

05/31/2017 05/31/2017 2017-05-31

Hier ist der eigentliche Code für die Abfrage

Verwandte Themen