Maison > base de données > tutoriel mysql > Comment corriger 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 corriger 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 ?

Mary-Kate Olsen
Libérer: 2025-01-19 19:21:44
original
186 Les gens l'ont consulté

How to Fix

"La conversion a échoué lors de la conversion de la date et/ou de l'heure à partir d'une chaîne de caractères" Problème dans SQL

Lors de la tentative de création d'une table avec des colonnes datetime et d'insertion d'une date et d'une heure spécifiques valeurs, un message d'erreur "La conversion a échoué lors de la conversion de la date et/ou de l'heure à partir d'une chaîne de caractères" a été rencontré. Voici comment résoudre ce problème :

Problèmes de conversion

La première tentative d'insertion de valeurs au format « 21-02-2012 6:10:00 PM » a entraîné une erreur car SQL Server nécessite des formats de date et d'heure spécifiques.

Format ISO-8601

Pour résoudre ce problème, utilisez le Format de date ISO-8601, pris en charge par SQL Server quels que soient les paramètres de langue ou de format de date. Le format se compose des options suivantes :

  • AAAAMMJJ pour les dates sans heure (pas de tirets)
  • AAAA-MM-JJTHH:mm:ss pour les dates avec heure (tirets facultatifs , délimiteur 'T' corrigé)

Insertion corrigée Statement

L'application du format ISO-8601 à l'instruction insert donne le code corrigé :

insert into table1 values('2012-02-21T18:10:00', '2012-01-01T00:00:00');
Copier après la connexion

DATETIME2 Datatype

Alternativement, pour SQL Server 2008 ou plus récent, en utilisant le Le type de données DATETIME2 simplifie le processus de conversion et permet différents formats de date sans problème :

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

En adhérant au format ISO-8601 ou en utilisant le type de données DATETIME2, vous pouvez surmonter l'erreur « Échec de la conversion » et insérer correctement les valeurs de date et d'heure dans 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!

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