Get lowest date

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Neil

    Get lowest date

    Is there a more elegant way to do the following?...

    declare @d1 datetime, @d2 datetime
    set @d1 = '2005-01-01'
    set @d2 = '2005-02-01'

    select
    case
    when datediff(dd,@d2 ,@d1)is null
    then coalesce(@d1, @d2)
    when (datediff(dd,@d 2,@d1)> 0)
    then @d2
    else @d1
    end


    Cheers,..
    N
  • David Portas

    #2
    Re: Get lowest date

    Try:

    SELECT
    CASE WHEN @d1<@d2
    THEN @d1
    ELSE COALESCE(@d2,@d 1)
    END

    or:

    SELECT MIN(dt)
    FROM
    (SELECT @d1 UNION ALL
    SELECT @d2)T(dt)

    --
    David Portas
    SQL Server MVP
    --

    Comment

    • NAJH

      #3
      Re: Get lowest date

      That's great! Much cleaner. Thank you.

      Comment

      Working...