J'ai plusieurs commandes de produits et j'essaie de regrouper par date et de additionner la quantité pour cette date. Comment regrouper par mois / jour / année sans prendre en compte la partie temps?
3/8/2010 7:42:00
doit être groupé avec 3/8/2010 4:15:00
sql
sql-server
tsql
sql-server-2008
L'homme aux muffins
la source
la source
Réponses:
Cast / Convertissez les valeurs en un
Date
type pour votre groupe par.la source
DateTime.Date
.DateTime.Date
- Entity Framework:EntityFunctions.TruncateTime(myDateTime)
Ou dans SQL Server 2008 , vous pouvez simplement caster
Date
comme @Oded l'a suggéré:la source
En pré sq 2008 En retirant la partie date:
la source
GROUP BY DATE(date_time_column)
la source
Voici un exemple que j'ai utilisé lorsque j'ai eu besoin de compter le nombre d'enregistrements pour une date particulière sans la partie heure:
la source
Voici l'exemple fonctionne bien dans Oracle
la source
Champ datetime CAST à ce jour
la source
Je pense que vous devez vous regrouper en ce jour du mois de l'année. alors pourquoi ne pas utiliser les fonctions TRUNK_DATE. Son fonctionnement est décrit ci-dessous:
la source