NOT NULL columns. You need to add CASE expression into ORDER BY clause in following:
SELECT Id, Date1, Date2
FROM YourTable
ORDER BY CASE
WHEN Date1 < Date2 THEN Date1
ELSE Date2
END
NULLABLE columns. As Zohar Peled wrote in comments if columns are nullable you could use ISNULL
(but better to use COALESCE
instead of ISNULL
, because It’s ANSI SQL standard
) in following:
SELECT Id, Date1, Date2
FROM YourTable
ORDER BY CASE
WHEN COALESCE(Date1, '1753-01-01') < COALESCE(Date2, '1753-01-01') THEN Date1
ELSE Date2
END
You can read about ANSI standard dateformat 1753-01-01
here.