函数未返回最大值

时间:2011-07-25 12:15:45

标签: 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

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

select dbo.MAXdate('9/8/2008','12/1/2008','3/3/2008')

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

2 个答案:

答案 0 :(得分:7)

您的最后一次测试条件应为

if(@DATE3 > @max )
   set @max= @DATE3

答案 1 :(得分:2)

if(@max >@DATE3)
   set @max= @DATE3

应该是

if(@DATE3>@max)
   set @max= @DATE3