Para la conferencia de Pass Alemania, donde presento la sesión “Empower your users with an OUTSTANDING Time Dimension” escribí las siguientes funciones de fecha, que obtienen el primer y último día de un mes, trimestre o año, hay que tener cuidado de donde las usas para no estropear el desempeño:

 

CREATE FUNCTION FirstDayOf (@Date SMALLDATETIME, @Period VARCHAR(10) )

        — Must not have hour or minute

RETURNS SMALLDATETIME

AS

BEGIN

— @Date Must not have hours or minutes

— @Period IN (‘Month’, ‘Quarter’, ‘Year’)

    RETURN

    CASE @Period

        WHEN ‘Month’ THEN DATEADD(DD, 1 DAY(@Date), @Date)

        WHEN ‘Quarter’ THEN DATEADD(Month, 1 MONTH(@Date)

                             + (3*(DATEPART(Quarter, @Date)-1))

                             , DATEADD(DD, 1 DAY(@Date), @Date))

        WHEN ‘Year’         THEN DATEADD(Month, 1MONTH(@Date), DATEADD(DD, 1 DAY(@Date), @Date))

        END

END

GO

 

CREATE FUNCTION LastDayOf(@Date SMALLDATETIME, @Period VARCHAR(10) )    

RETURNS SMALLDATETIME

AS

BEGIN

— @Date Must not have hours or minutes

— @Period IN (‘Month’, ‘Quarter’, ‘Year’)

    RETURN

    CASE @Period

        WHEN ‘Month’    THEN DATEADD(DD, 1, DATEADD(Month, 1,dbo.FirstDayOf(@Date, ‘Month’)))

        WHEN ‘Quarter’    THEN DATEADD(DD, 1, DATEADD(Month, 3,dbo.FirstDayOf(@Date, ‘Quarter’)))

        WHEN ‘Year’        THEN DATEADD(DD, 1, DATEADD(YEAR, 1,dbo.FirstDayOf(@Date, ‘Year’)))

        END

END

go

 

0 Shares:
Deja una respuesta

Tu dirección de correo electrónico no será publicada.

You May Also Like
SQL Server en Kubernetes (Parte 2)
Leer más

Matar al mensajero – SQL Server en Kubernetes (Parte 2)

En la primera parte de este artículo explicamos en qué consiste un SQL Server en contenedores y mostramos una forma sencilla de crear un entorno Kubernetes manejado. En esta segunda parte vamos a enfocarnos en los escenarios más críticos donde el uso de contenedores puede añadirnos latencias y esperas extras que acaben impactando en el rendimiento percibido por nuestros usuarios tras una migración de SQL Server a contenedores.

Más ejemplos de validación de datos con T-SQL

¿Cómo validas que los datos están proporcionando la información correcta? La validación es un aspecto imprescindible en tus proyectos. ¡Toma nota! A veces podemos realizar conteos a tablas muy grandes que llevan mucho tiempo, o necesitamos comprobar si existe una tabla o un campo dentro de una tabla, o poder comparar los resultados de 2 consultas distintas. Hoy veremos ejemplos de estos casos empleando diferentes técnicas y ejemplos prácticos con T-SQL para detectar posibles errores y su validación.