Gestion nulle JDBC pour les valeurs DATETIME de 0000-00-00 00:00:00
MySQL traite les valeurs DATETIME de 0000-00- 00 00:00:00 comme "quasi-nul" valeurs, et tenter de récupérer des valeurs telles que des chaînes à partir d'une connexion JDBC peut entraîner une exception.
Pour résoudre ce problème, envisagez d'utiliser les solutions suivantes :
Option 1 : Casting en CHAR
Vous pouvez explicitement convertir la colonne DATETIME en CHAR dans votre SQL requête :
SELECT CAST(add_date AS CHAR) AS add_date
Cela renverra la chaîne DATETIME brute sans la convertir en un type de données spécifique.
Option 2 : Utilisation de la configuration JDBC
Alternativement, vous pouvez configurer votre URL JDBC avec le ZeroDateTimeBehavior paramètre :
jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
Avec cette configuration, les valeurs DATETIME de 0000-00-00 00:00:00 seront automatiquement converties en NULL dans votre ResultSet.
Le paramètre zeroDateTimeBehavior peut prendre différents valeurs :
Notez que ce paramètre affecte toutes les colonnes DATETIME de votre base de données.
Source :
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!