Datepart

lilia04 Messages postés 2 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 23 mars 2010 - 12 mars 2010 à 16:29
lilia04 Messages postés 2 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 23 mars 2010 - 23 mars 2010 à 16:19
bonjour,
je vous explique mon problème, je souhaite que ma requête calcule une moyenne journalière.
dans ma table j'ai une moyenne à chaque instant T dans la journée et je cherche à calculer cette moyenne par jour.
voilà c'est ma requête:
SELECT a.CounterID,b.ObjectName,b.MachineName,b.InstanceName,
DATEPART(day, Cast(a.CounterDateTime AS DateTime))as JOUR,
AVG(a.CounterValue) AS MOYENNE
FROM
dbo.CounterData as a FULL OUTER JOIN dbo.CounterDetails as b
ON a.CounterID=b.CounterID
GROUP BY
a.CounterID,b.ObjectName,b.MachineName,b.InstanceName,a.CounterDateTime;

et voici le message d'erreur que j'ai:
Server: Msg 241, Level 16, State 1, Line 1
Syntax error converting datetime from character string.

NB: "CounterDateTime" est de type char de la forme : 2010-02-23 19:35:08.713

j'ai beau à essayer mais rien, et je suis bloquée à ce nouveau.
Merci d'avance pour tous vos réponses

1 réponse

lilia04 Messages postés 2 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 23 mars 2010
23 mars 2010 à 16:19
voila, c'est résolu:
pour convertir le champ "CounterDateTime" en DateTime, voici la bonne eyntaxe:

convert(DATETIME,substring(CounterDateTime,0,24))
0