Le problématique '0000-00-00 00:00:00' DATETIME valeur, représentant un état quasi nul, déclenche souvent une exception lorsque l'on tente de la récupérer en tant que valeur chaîne en utilisant ResultSet.getString(). Pour résoudre ce problème, envisagez les options suivantes :
1. Conversion en CHAR
Pour obtenir la chaîne DATETIME brute telle qu'elle apparaît dans la base de données, utilisez une requête spécifique à MySQL :
SELECT CAST(add_date AS CHAR) AS add_date
2. Configuration de l'URL JDBC
Vous pouvez également ajouter zeroDateTimeBehavior=convertToNull à votre URL JDBC :
jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
Cela configure JDBC pour convertir '0000-00-00 00:00:00 ' valeurs à NULL, vous permettant de les récupérer sans déclencher de exception.
3. Propriété de configuration zeroDateTimeBehavior
Pour les versions 3.1 et supérieures de Connector/J, la propriété zeroDateTimeBehavior offre davantage de personnalisation. En le définissant sur exception, convertToNull ou round, vous pouvez spécifier comment les valeurs DATETIME sont gérées :
Reportez-vous au manuel MySQL pour plus de détails sur cette propriété de configuration.
Remarque : Dans MySQL Connector/J 5.1.15, un bug affectait la fonctionnalité zeroDateTimeBehavior=convertToNull. Consultez les CHANGELOGS du site officiel pour les mises à jour sur les corrections de bugs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!