smalldatetime
ma zasięg do 6 czerwca 2079 r., więc możesz używać
ORDER BY ISNULL(Next_Contact_Date, '2079-06-05T23:59:00')
Jeśli żadne legalne zapisy nie będą miały tej daty.
Jeśli nie jest to założenie, które masz ochotę polegać na bardziej niezawodnej opcji, jest sortowanie w dwóch kolumnach.
ORDER BY CASE WHEN Next_Contact_Date IS NULL THEN 1 ELSE 0 END, Next_Contact_Date
Obie powyższe sugestie nie są w stanie użyć indeksu, aby uniknąć sortowania i dać podobne plany.
Inną możliwością, jeśli taki indeks istnieje, jest
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