Ich habe ein String-Feld in Mysql (Datumsfelder aus von MSSQL importiert) und ich bin mit dem nach dem String-Wert zu konvertieren und in einem neuen (MYSQL) Datum-Zeit-Feld zu platzieren,Mysql falsches Datum (Daten) in String-Feld wie zu finden/zu validieren?
aktualisieren Table_name Set STATUS_DATE = STR_TO_DATE (SUBSTRING_INDEX (SSTATUS_DATE,““, 1), '% c /% e /% Y'),
irgendwo in der Tabelle I schlechte Daten haben und die Abfrage beendet und SO die Ergebnisse umkehrt I weiß nicht, wie man den schlechten Datensatz findet, um ihn "zu reparieren" Ideen? Ich möchte nur eine einfache Abfrage durchführen, um festzustellen, welcher Datensatz nicht konvertiert wird? Die Fehlermeldung besagt, dass CABANA ist kein Datum, duh, ich vermute, dass der Substr Index ist durcheinander, so dass ich Daten aus dem vorherigen oder folgenden Feld, aber ich weiß nicht, und ich weiß nicht, wie Sie abfragen für schlechte Daten? dh das, was die Umwandlung nicht bestehen wird?
Können Sie den Verbatim-Fehler posten? Wenn ich STR_TO_TIME ('CABANA', '% c /% e /% Y') unter einem frühen 5er-MySQL auswähle, bekomme ich 'NULL' und eine Warnung (kein Fehler), welcher Warntext nicht derselbe ist als deine Erzählung. – pilcrow
Ist das Feld STATUS_DATE als NOT NULL definiert? Ich habe verschiedene Formen der Eingabe für die Funktion "str_to_date" ausprobiert und kann sie nicht zum Fehlschlagen bringen. Datensätze, die nicht analysiert werden können, werden einfach als NULL zurückgegeben. –