Cómo agrupar por fecha sin los segundos en T-SQL

Escrito por gissimee doe | Traducido por walter f. stocco
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo agrupar por fecha sin los segundos en T-SQL
Las fechas con formato ISO eliminan los problemas causados al trabajar con las marcas de la hora. (Thinkstock Images/Comstock/Getty Images)

En las consultas de Transact-SQL, a menudo es necesario llevar a cabo funciones agregadas tales como la agrupación por fecha. SQL ofrece el tipo de datos “Date” para almacenar datos como fechas y el “DateTime” para almacenar los datos en un formato de fecha y hora, con la fecha y la hora en horas, minutos y segundos. Puedes convertir los datos “DateTime” en un formato de fecha ISO (AAAAMMDD) durante la agregación para eliminar la porción de la hora. También puedes dividir los datos ""Hora de la fecha" en partes individuales utilizando la función “DATEPART” y agrupándolas por las partes de la fecha y la hora sin los segundos.

Nivel de dificultad:
Difícil

Otras personas están leyendo

Necesitarás

  • MS SQL Server 2005 o una versión posterior
  • MS SQL Server Management Studio

Lista completaMinimizar

Instrucciones

    Conversión

  1. 1

    Inicia la aplicación Microsoft SQL Server Management Studio y conéctate a la base de datos del motor de SQL Server.

  2. 2

    Abre una ventana del editor de consultas.

  3. 3

    Da formato a la consulta para convertir el registro de "fecha y hora" en una cadena en formato ISO estándar sin la porción de tiempo (AAAAMMDD). "Aaaa" es el año, "mm" es el mes y "dd" es la fecha. El "112" en la función “CONVERT” que especifica el formato ISO.

    CONVERT(CHAR (8), date_field, 112) convierte el “datetime” date_field en una cadena con formato ISO de ocho caracteres. CAST(CONVERT(CHAR (8), date_field, 112) como fecha y hora) se convierte en la “datetime” date_field en una fecha con formato ISO sin la hora. Para usarlo en la función GROUP BY, es necesario formatear la consulta como:

    SELECT date_field FROM tabla WHERE condiciones GROUP BY CAST(CONVERT(CHAR (8), date_field, 112) como fecha y hora)

    DATEPART

  1. 1

    Inicia la aplicación MS SQL Server Management Studio y conéctate a la base de datos del motor de SQL Server.

  2. 2

    Abre una ventana del editor de consultas.

  3. 3

    Da formato a la consulta como se muestra, utilizando la función “DATEPART” para dividir el campo de fecha en sus partes constituyentes. A continuación, utiliza cada parte en la función “GROUP BY”, eliminando los segundos para realizarlo sin segundos solamente, donde "aaaa" es el año, "mm" es el mes, "dd" es el día, "hh" es la hora y "n" es el minuto.

    SELECT DATEPART(dd, date_field),

    DATEPART(mm, date_field), DATEPART(dd, date_field), DATEPART(hh, date_field), DATEPART (n, date_field) FROM tabla GROUP BY DATEPART(dd, date_field),

    DATEPART(mm, date_field), DATEPART(dd, date_field), DATEPART(hh, date_field), DATEPART(n, date_field)

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles