Maison >base de données >tutoriel mysql >Comment gérer les valeurs DATETIME 0000-00-00 00:00:00 de MySQL avec JDBC ?

Comment gérer les valeurs DATETIME 0000-00-00 00:00:00 de MySQL avec JDBC ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-02 13:05:38642parcourir

How to Handle MySQL's 0000-00-00 00:00:00 DATETIME Values with JDBC?

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 :

  • exception : Lève une exception (par défaut)
  • convertToNull : Convertit la valeur en NULL
  • round : Arrondit la valeur à la valeur la plus proche (0001-01-01 )

Notez que ce paramètre affecte toutes les colonnes DATETIME de votre base de données.

Source :

  • Manuel MySQL : https://dev.mysql.com/doc/connector-j/5.1/en/connector- j-référence-configuration-properties.html

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn