164 votes

Requête Sql pour insérer une date dans SQL Server

Je veux insérer un datetime dans une table (SQL Server) en utilisant la requête sql ci-dessous

insert into table1(approvaldate)values(18-06-12 10:34:09 AM);

Mais je reçois ce message d'erreur. Incorrect syntax near '10'.

J'ai essayé avec les guillemets

insert into table1(approvaldate)values('18-06-12 10:34:09 AM');

Je reçois ce message d'erreur Cannot convert varchar to datetime

Aidez-nous ! Merci.

2voto

Pankaj Points 49

Si vous stockez des valeurs via un langage de programmation quelconque

Voici un exemple en C#

Pour stocker une date, vous devez d'abord la convertir, puis la stocker.

insert table1 (foodate)
   values (FooDate.ToString("MM/dd/yyyy"));

FooDate est une variable de type datetime qui contient votre date dans votre format.

1voto

Guy E Points 139

Je rencontre un problème plus générique : obtenir des formats de date différents (et pas nécessairement connus) et les insérer dans la colonne date. Je l'ai résolu en utilisant cette instruction, qui est finalement devenue une fonction scalaire (pertinente pour ODBC canonical, american, ANSI et british). \franch style de date - peut être étendu) :

insert into <tableName>(<dateTime column>) values(coalesce 
(TRY_CONVERT(datetime, <DateString, 121), TRY_CONVERT(datetime, <DateString>, 
101), TRY_CONVERT(datetime, <DateString>, 102), TRY_CONVERT(datetime, 
<DateString>, 103)))

0voto

David Cachia Points 1

Si le format de la date est le suivant en sql : (datetime,null)

1

Vous pouvez également utiliser le mot clé "CAST".

(CAST('2015-12-25 15:32:06.427' AS DateTime))

Assurez-vous que la date est au bon format.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X