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 :
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.
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 :
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');
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
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!