compare two columns

  • Hello,

    I have two datetime columns, that I want to compare and get result just for one.

    Something like this: SELECT IIF ( column1 > column2, column1, column2) AS Result;

    How can I do it in my view?

    Thanks.

  • use a case statement:

    select case when column1 > column2 then column1 else column2 end as Result;

  • Thank you , btw. sometimes has column2 value = NULL and result is also NULL. I this case I want to put date from column1.

  • peter478 (12/5/2016)


    Thank you , btw. sometimes has column2 value = NULL and result is also NULL. I this case I want to put date from column1.

    CASE

    WHEN column1 >= ISNULL(column2,Column1)

    THEN column1

    ELSE column2 END AS Result

    This will handle that situation.


    On two occasions I have been asked, "Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?" ... I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
    —Charles Babbage, Passages from the Life of a Philosopher

    How to post a question to get the most help http://www.sqlservercentral.com/articles/Best+Practices/61537

  • Assuming that column1 cannot be null, then this will give the same results and should be slightly faster.

    CASE

    WHEN column2 > column1

    THEN column2

    ELSE column1 END AS Result

    You have three conditions:

  • column2 is null
  • column1 > column2
  • column2 > column1
  • , and you want column1 returned under two of those conditions, so you want to test for the one condition where you're not returning column1.

    Drew

    J. Drew Allen
    Business Intelligence Analyst
    Philadelphia, PA

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply