函数未返回最大值

Shi*_*ine 0 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(@max >@DATE3)
       set @max= @DATE3

   return @max   
end
Run Code Online (Sandbox Code Playgroud)

但是当我执行该功能时,我没有获得最大值

select dbo.MAXdate('9/8/2008','12/1/2008','3/3/2008')
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我分析一下,为什么我没有获得最大价值?

Rya*_*yan 7

你最后的测试条件应该是

if(@DATE3 > @max )
   set @max= @DATE3
Run Code Online (Sandbox Code Playgroud)