¿Cómo puedo agrupar por columna de fecha y hora sin tener en cuenta el tiempo?


Respuestas:


374

Transmitir / Convertir los valores a un Datetipo para su grupo por.

GROUP BY CAST(myDateTime AS DATE)

3
¿Sabes cómo haría lo mismo con LINQ to SQL?
The Muffin Man

1
@ Nick: no estoy seguro. Intenta usarlo DateTime.Date.
Oded

3
- Linq to Sql: DateTime.Date- Entity Framework:EntityFunctions.TruncateTime(myDateTime)
The Muffin Man

1
Estoy de acuerdo, estaba respondiendo a The Muffin Man que estaba preguntando al respecto en un contexto ORM.
Niels Brinch

44
Muchas gracias ... resolvió mi problema. agregado 'grupo por CAST (fecha_modificada como fecha)'. no olvide agregar el mismo (CAST (fecha_modificada como fecha)) en select cluase.
Mohammed mansoor

25
GROUP BY DATEADD(day, DATEDIFF(day, 0, MyDateTimeColumn), 0)

O en SQL Server 2008 en adelante, simplemente podría Date enviar como se sugirió @Oded:

GROUP BY CAST(orderDate AS DATE)



2

Aquí hay un ejemplo que usé cuando necesitaba contar la cantidad de registros para una fecha en particular sin la porción de tiempo:

select count(convert(CHAR(10), dtcreatedate, 103) ),convert(char(10), dtcreatedate, 103)
FROM dbo.tbltobecounted
GROUP BY CONVERT(CHAR(10),dtcreatedate,103)
ORDER BY CONVERT(CHAR(10),dtcreatedate,103)

1
ORDER BY no funcionará como se supone porque no lo tratará como una fecha, por lo que se ordenará por día
Arma X

2

Aquí está el ejemplo funciona bien en Oracle

select to_char(columnname, 'DD/MON/yyyy'), count(*) from table_name group by to_char(createddate, 'DD/MON/yyyy');

2

CAST datetime campo hasta la fecha

select  CAST(datetime_field as DATE), count(*) as count from table group by CAST(datetime_field as DATE);

0

Creo que debes agruparte por ese día del mes del año. Entonces, ¿por qué no usar las funciones TRUNK_DATE? La forma en que funciona se describe a continuación:

Group By DATE_TRUNC('day' , 'occurred_at_time')

date_trunc es para PostgreSQL, no para SQL Server, que por las etiquetas, el OP estaba buscando una solución para el servidor SQL.
Dave Hogan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.