Parece mentira pero es cierto… en SQL Server no tenemos ninguna función para saber el mínimo o máximo entre 2 números.
Podéis usar la alternativa del ‘case when …’, pero si lo vais a utilizar bastante o queréis que el código sql quede un poco más legible, os recomendamos usar estas funciones de usuario.
Son unas funciones muy sencillas y es muy fácil usarlas.
Os dejamos una para el MIN y otra para el MAX, tanto para enteros (int) como para flotantes (float).
Aquí tenéis el código:
create function my_max(@val1 int, @val2 int)
returns int
as
begin
if @val1 > @val2
return @val1
return isnull(@val2,@val1)
end
GO
create function my_min(@val1 int, @val2 int)
returns int
as
begin
if @val1 < @val2
return @val1
return isnull(@val2,@val1)
end
GO
create function my_maxfloat(@val1 float, @val2 float)
returns float
as
begin
if @val1 > @val2
return @val1
return isnull(@val2,@val1)
end
GO
create function my_minfloat(@val1 float, @val2 float)
returns float
as
begin
if @val1 < @val2
return @val1
return isnull(@val2,@val1)
end
GO
Espero que os sea útil!