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

Comment gérer les valeurs DATETIME « 0000-00-00 00:00:00 » dans JDBC ?

Susan Sarandon
Libérer: 2024-12-26 01:32:09
original
923 Les gens l'ont consulté

How to Handle '0000-00-00 00:00:00' DATETIME Values in JDBC?

Gestion des valeurs DATETIME '0000-00-00 00:00:00' dans JDBC

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
Copier après la connexion

2. Configuration de l'URL JDBC

Vous pouvez également ajouter zeroDateTimeBehavior=convertToNull à votre URL JDBC :

jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
Copier après la connexion

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 :

  • exception : lève une exception SQL (par défaut)
  • convertToNull : renvoie NULL
  • arrondi : arrondit la date à 0001-01-01

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal