J'ai un champ de chaîne dans Mysql (champs de date importés de de MSSQL) et je suis en utilisant ce qui suit pour convertir la valeur de chaîne et le placer dans un nouveau (MYSQL) champ date-heure,Mysql bad date (data) dans une chaîne de caractères comment trouver/valider?
Mise à jour Table_name ensemble STATUS_DATE = STR_TO_DATE (SUBSTRING_INDEX (SSTATUS_DATE, » », 1), '% c /% e /% Y'),
quelque part dans le tableau I ai mauvaises données et la requête arrête et inverse les résultats SO I Je ne sais pas comment trouver le mauvais enregistrement de données pour "réparer" les idées? Je voudrais juste faire une requête simple pour déterminer quel enregistrement ne convertit pas? Le message d'erreur indique que CABANA n'est pas une date, duh, je soupçonne que l'index substr est foiré afin que j'obtienne des données du champ précédent ou suivant, mais je ne sais pas, et je ne sais pas comment interroger pour de mauvaises données? c'est-à-dire celui qui ne passera pas la conversion?
Pouvez-vous poster l'erreur verbatim? Quand je sélectionne STR_TO_TIME ('CABANA', '% c /% e /% Y') sous MySQL 5, je reçois 'NULL' et un avertissement (pas une erreur), quel texte d'avertissement n'est pas le même comme votre récit. – pilcrow
Le champ STATUS_DATE est-il défini comme NOT NULL? J'ai essayé différentes formes d'entrée dans la fonction str_to_date et je n'arrive pas à l'échouer. Les enregistrements qui ne peuvent pas être analysés sont simplement retournés comme NULL. –