Maison > base de données > tutoriel mysql > Comment puis-je éviter les erreurs « Échec de la conversion lors de la conversion de la date et/ou de l'heure à partir d'une chaîne de caractères » dans SQL Server ?

Comment puis-je éviter les erreurs « Échec de la conversion lors de la conversion de la date et/ou de l'heure à partir d'une chaîne de caractères » dans SQL Server ?

Susan Sarandon
Libérer: 2025-01-19 19:26:10
original
333 Les gens l'ont consulté

How Can I Avoid

Dépannage des problèmes d'insertion datetime dans SQL Server

L'insertion de dates et d'heures dans les tables SQL Server entraîne fréquemment des erreurs « Échec de la conversion lors de la conversion de la date et/ou de l'heure à partir d'une chaîne de caractères ». Cela se produit généralement lorsque le format des données ne correspond pas aux attentes de la base de données.

La solution consiste à utiliser des formats datetime cohérents. SQL Server accepte idéalement le format ISO-8601 dans ces variantes :

  1. YYYYMMDD (date uniquement)
  2. YYYY-MM-DDTHH:mm:ss (date et heure, avec des traits d'union comme séparateurs)

L'utilisation de la norme ISO-8601 garantit la compatibilité entre différents paramètres linguistiques et régionaux. Par exemple, une insertion correcte ressemblerait à ceci :

INSERT INTO table1 VALUES ('2012-02-21T18:10:00', '2012-01-01T00:00:00');
Copier après la connexion

Pour une flexibilité améliorée, SQL Server 2008 et les versions ultérieures proposent le type de données DATETIME2. Cela permet une analyse plus clémente des chaînes datetime. Les valeurs problématiques pourraient être traitées comme suit :

SELECT
   CAST('02-21-2012 6:10:00 PM' AS DATETIME2),     -- Successful conversion
   CAST('01-01-2012 12:00:00 AM' AS DATETIME2);    -- Successful conversion
Copier après la connexion

Pour éviter de futures erreurs de conversion, les développeurs doivent toujours utiliser des formats datetime standardisés comme ISO-8601 et, si possible, exploiter le type de données DATETIME2 pour améliorer la compatibilité et la tolérance aux erreurs au sein de SQL Server.

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 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