Está en la página 1de 2

presentar 5 funciones y 5 procedimientos almacenados

FUNCIONES:
1-- SI ES LUNES
create FUNCTION Eslunes(fe date)
returns varchar (20)
begin
DECLARE x SMALLINT;
set x=(SELECT CASE EXTRACT(MONTH FROM(fe))
WHEN 0 THEN 'ENERO'
WHEN 1 THEN 'FEBRERO'
WHEN 2 THEN 'MARZO'
WHEN 3 THEN 'ABRIL'
WHEN 4 THEN 'MAYO'
WHEN 5 THEN 'JUNIO'
WHEN 6 THEN 'JULIO'
WHEN 7 THEN 'AGOSTO'
WHEN 8 THEN 'SEPTIEMBRE'
WHEN 9 THEN 'OCTUBRE'
WHEN 10 THEN 'NOVIEMBRE'
WHEN 11 THEN 'DICIEMBRE'
END );
return no ES UNA FECHA ;
end if
end;
2--- CALCULA FACTORIAL
create function factfind(@num integer)
returns Decimal(38,0)
as
begin
declare @Result Decimal(38,0)
set @Result = 1
if (@num>1)
set @Result = @num * dbo.factfind(@num-1);
return @Result
end
3---SI UN NUMERO ES PRIMO
FUNCTION is_prime (
number_in IN INTEGER)
RETURN BOOLEAN
IS
c_limit INTEGER := ABS ( number_in );
retval BOOLEAN DEFAULT TRUE;
divisor INTEGER := 2;
BEGIN
WHILE ( divisor < c_limit AND retval )
LOOP
retval := MOD ( number_in, divisor ) <> 0;
divisor := divisor + 1;
END LOOP;
RETURN retval;
END is_prime;

4---PRECIO PROMEDIO DE LOS PRODUCTOS POR CATEGORIA


CREATE FUNCTION DBO.PRECIOPROMEDIO() RETURNS DECIMAL
AS
BEGIN
DECLARE @PROM DECIMAL
SELECT @PROM=AVG(PRECIOUNIDAD)
FROM COMPRAS.PRODUCTOS
RETURN @PROM
END
GO
5--- DEVUELVE EL DIA DE LA SEMANA
create FUNCTION diaSemana(f date)
RETURNS varchar(10)
BEGIN
DECLARE s varchar(10);
SET s=(SELECT CASE date_format(f,'%w')
WHEN 0 THEN 'Domingo'
WHEN 1 THEN 'Lunes'
WHEN 2 THEN 'Martes'
WHEN 3 THEN 'Miercoles'
WHEN 4 THEN 'Jueves'
WHEN 5 THEN 'Viernes'
WHEN 6 THEN 'Sabado'
END );
return s;
END
DEVUELVE LA FECHA NORMAL
create function fNormal(f date)
RETURNS CHAR(10)
BEGIN
declare d char(2);
declare m char(2);
declare a char(4);
set d=day(f);
set m= month(f);
set a=year(f);
return concat(d,'-',m, - ,a);
END

También podría gustarte