smalldatetime has a range until June 6, 2079, so you can use
ORDER BY ISNULL(Next_Contact_Date, '2079-06-05T23:59:00')
If no legal records have this date.
If this is not an assumption, you believe that you rely on a more reliable option, the sorting is done in two columns.
ORDER BY CASE WHEN Next_Contact_Date IS NULL THEN 1 ELSE 0 END, Next_Contact_Date
Both of the above suggestions cannot use an index to avoid sorting, and give similar plans.

Another possibility, if such an index exists, is
SELECT 1 AS Grp, Next_Contact_Date FROM T WHERE Next_Contact_Date IS NOT NULL UNION ALL SELECT 2 AS Grp, Next_Contact_Date FROM T WHERE Next_Contact_Date IS NULL ORDER BY Grp, Next_Contact_Date

Martin Smith May 4 '11 at 16:51 2011-05-04 16:51
source share