Ene 29

Fechas, Estadisticas y ….. en #SQLserver

Anoche me quede desvelado y me puse un problema en el grupo de facebook. Como sacar la máxima información de la fecha de un dia cualquiera del año para después hacer estadísticas y algo más.

Por ejemplo, tenemos una tabla con estos 3 elementos o mas

Captura

Tenemos el campo dato, pero puede ser  un codigo de comercial, fras, etc….. eso ya lo veremos mas adelante.

Vamos al campo fecha. En lo siguientes códigos o script vamos  utilizar la fecha actual getdate() , pero lo podemos cambiar si tuvieramos registro por ese campo

Captura

SELECT getdate() AS 'Hoy'

Vamos a desgranar lo que podemos sacar de ahí

Captura

Primero hay que aclarar que estoy en un servidor de AzureSQL y por eso me sale el mes en inglés.

DECLARE @INFORME char(50)
SET @INFORME = 'INFORME DIA'
Select @INFORME as Tipo_Informe,
DATENAME(weekday, Getdate()) AS Dia_Semana,
DATENAME(day, Getdate()) AS DD, DATENAME(month, Getdate()) AS MM, DATENAME(year, Getdate()) AS YYYY,
DATENAME(hour, Getdate()) AS HH,DATENAME(minute, Getdate()) AS MM

Nos dan este select un poco mas detallado la fecha, nos puede interesar tenerlo así.

Captura

En este caso el mes aparece como un número

DECLARE @INFORME char(50)
SET @INFORME = 'INFORME DIA'
Select @INFORME as Tipo_Informe,
DATENAME(weekday, Getdate()) AS Dia_Semana,
DATENAME(day, Getdate()) AS DD, DATEPART(month, Getdate()) AS MM, DATENAME(year, Getdate()) AS YYYY,
DATENAME(hour, Getdate()) AS HH,DATENAME(minute, Getdate()) AS MM

Pero aun podemos sacar mas datos de la fecha para hacer estadísticas

Captura

En este último select sacamos el numero de semana y el numero de día sabiendo que el primer día de la semana es el domingo.

Select @INFORME as Tipo_Informe,
DATENAME(week, Getdate()) AS Semana, DATEPART(weekday,Getdate()) AS Dia_Semana

Si lo querremos en formato español y que el primer dia de la  semana es el Lunes tenemos que añadir al principio

SET DATEFIRST 1 ;

y quedaría

Captura

Y ya esta, el viernes es el dia 5 de la semana.

Como podéis ver podemos desglosar una fecha para hacer estaditicas de dia entre semana, la semana, mes, etc… para ver a qu hora se vende mas, que dia ….. para una planificiación de personal por ejemplo.

Aquí solo muestro una idea. Espero que os haya gustado.

Podeis compartir este artículo y los demás del blog en vuestras redes sociales.