Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/11/2006, 04:28
Avatar de PosProdukcion
PosProdukcion
 
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 19 años, 5 meses
Puntos: 9
Aqui tienes la funcion ya hecha...
Un año bisiesto es multiplo de 4 pero no de 100, y si de 400

Código:
create function dbo.fnDiasDelMes(@Mes as int, @anyo as int) returns int
-- Calcula los dias de un mes, teniendo en cuenta si el año es bisiesto o no
as
begin
    declare @dias as int
    
    if @Mes = 1 or @Mes = 3 or @Mes = 5 or @Mes = 7 or @Mes = 8 or @Mes = 10 or @Mes = 12
        set @dias = 31
    else if @Mes = 4 or @Mes = 6 or @Mes = 9 or @Mes = 11
        set @dias = 30
    else if @Mes = 2
        if (@anyo%4 = 0) and ((@anyo%100 <> 0) or (@anyo%400 = 0))
            set @dias = 29
        else
            set @dias = 28

    return (@dias)
end
GO

Última edición por PosProdukcion; 13/11/2006 a las 04:56