Sql 函数不返回最大值
我写了下面的函数来返回最大日期Sql 函数不返回最大值,sql,sql-server-2008,Sql,Sql Server 2008,我写了下面的函数来返回最大日期 Alter function MAXdate(@DATE1 date,@DATE2 date,@DATE3 date) returns date as begin declare @max as date set @max = '' if(@DATE1> @DATE2) set @max = @DATE1 else set @max = @DATE2 if(
Alter function MAXdate(@DATE1 date,@DATE2 date,@DATE3 date)
returns date
as
begin
declare @max as date
set @max = ''
if(@DATE1> @DATE2)
set @max = @DATE1
else
set @max = @DATE2
if(@max >@DATE3)
set @max= @DATE3
return @max
end
但是当我执行函数时,我没有得到最大值
select dbo.MAXdate('9/8/2008','12/1/2008','3/3/2008')
有谁能帮我分析一下,为什么我得不到最大值?您上次的测试条件应该是
if(@DATE3 > @max )
set @max= @DATE3
应该是
if(@DATE3 > @max )
set @max= @DATE3
if(@DATE3>@max)
set @max= @DATE3
日期是日/月/年还是月/日/年?您也可以;返回select maxd from select@DATE1 as d union select@DATE2 union select@DATE3 T