Wednesday, August 27, 2014

Find first date in a row

Please post example date as a table (see below for an example).


You should also provide DDL/DML for the objects you're going to use so we don't have to take guesses or make assumptions. I've assumed you wanted DATETIME objects, and just need the lowest value from three columns.



DECLARE @forumTable TABLE (date1 DATETIME, date2 DATETIME, date3 DATETIME)
INSERT INTO @forumTable (date1, date2, date3)
VALUES (DATEADD(DAY,-1,GETDATE()), DATEADD(DAY,-2,GETDATE()), DATEADD(DAY,-3,GETDATE())),
(DATEADD(DAY,-6,GETDATE()), DATEADD(DAY,-5,GETDATE()), DATEADD(DAY,-4,GETDATE())),
(DATEADD(DAY,-7,GETDATE()), DATEADD(DAY,-9,GETDATE()), DATEADD(DAY,-8,GETDATE()))

SELECT *,
CASE WHEN date1 <= date2 AND date1 <= date3 THEN date1
WHEN date2 <= date1 AND date2 <= date3 THEN date2
WHEN date3 <= date1 AND date3 <= date2 THEN date3
END AS firstDate
FROM @forumTable






No comments:

Post a Comment