Insérer CURRENT_TIMESTAMP avec SQL Sever 2005

mloanthony Messages postés 2 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 12 avril 2009 - 12 avril 2009 à 17:17
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 - 12 avril 2009 à 20:03
>Bonjour,
>
>Habitué à DB2, j'ignore comment 'insert' les millisecondes avec SQL Server 2005 dans une colonne de type datetime.
>
>Voici ce que j'obtiens : "21/03/2009 16:34:08"
>
>J'y arrive avec une colonne de type varchar avec la commande "CONVERT(VARCHAR, CURRENT_TIMESTAMP, 21)"
>
>Voici ce que j'obtiens : "2009-03-21 17:43:46.733" (Résultat recherché)
>
>Néanmoins, j'aimerai stoquer CURRENT_TIMESTAMP dans un objet de type Datetime de SQL Server.

1 réponse

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
12 avril 2009 à 20:03
Bonjour,

Je pense que SQL server stocke le DateTime avec les millisecondes, c'est le retour du Select qui formate les données en supprimant les millisecondes.
Si par exemple tu recuperes un champ DateTime dans un object DateTime (C#) alors tu constateras que les millisecondes sont bien présentes.

ex, j'ai une table de transactions avec une colonne DateTime (Begin_date_time)
la commande suivante montre bien que les millisecondes sont stockées dans le table, même si le Select de base ne les affiche pas:
SELECT  
   BEGIN_DATE_TIME AS Expr1, 
   CONVERT(VARCHAR, BEGIN_DATE_TIME, 21) AS Expr2, 
   DATEPART(millisecond, BEGIN_DATE_TIME) AS Expr3
FROM         TRANSACT

pour info, voici un extrait de l'aide Transact SQL:
Because the standard display formats do not include seconds or milliseconds, you cannot search for them with LIKE and a matching pattern, unless you use the CONVERT function with the style parameter set to 9 or 109. For more information about searching for partial dates or times, see [javascript:hhobj_4.Click() LIKE]

C# is amazing, enjoy it!
0
Rejoignez-nous