TRANSACT SQL - Ejemplo: Funciones escalares.

Creado por David Miralpeix, Modificado el Fri, 16 Feb 2024 a las 12:25 PM por David Miralpeix

Funciones escalares:

 

--ejemplo 1

CREATE FUNCTION [dbo].[funEsDiaFestivo_Emp](@IdEmpleado T_Id_Empleado, @Fecha DATETIME)
RETURNS bit
AS
BEGIN
DECLARE @val bit
IF EXISTS (SELECT * FROM Calendario_Fechas CF INNER JOIN Empleados_Datos ED ON CF.IdCalendario = ED.IdCalendario WHERE ED.IdEmpleado = @IdEmpleado AND CF.Fecha = @Fecha)
SET @val=1
ELSE
SET @val=0
RETURN @val
END
go
-- llamada
SELECT dbo.[funEsDiaFestivo_Emp] (0,'20130105')
go

 

--ejemplo 2

CREATE FUNCTION [dbo].[funUltDiaMes](@Fecha T_Fecha_Corta)
RETURNS smallint
AS
>BEGIN
Declare @PrimDiaMesSig T_Fecha_corta
Declare @UltDiaMes T_Fecha_corta
SET @PrimDiaMesSig=LEFT(convert(varchar,DATEADD(mm,1,@fecha),112),6)+'01'
SELECT @UltDiaMes=DATEADD(dd,-1,@PrimDiaMesSig)
RETURN DATEPART(dd,@UltDiaMes)
END
go
-- llamada
SELECT dbo.[ funUltDiaMes] (‘20130105')

 

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo