smalldatetime
hat eine Reichweite bis zum 6. Juni 2079, sodass Sie
ORDER BY ISNULL(Next_Contact_Date, '2079-06-05T23:59:00')
Wenn keine legitimen Aufzeichnungen dieses Datum haben.
Wenn dies keine Annahme ist, möchten Sie sich auf eine robustere Option verlassen, indem Sie nach zwei Spalten sortieren.
ORDER BY CASE WHEN Next_Contact_Date IS NULL THEN 1 ELSE 0 END, Next_Contact_Date
Beide oben genannten Vorschläge sind jedoch nicht in der Lage, einen Index zu verwenden, um eine Sortierung zu vermeiden, und geben ähnlich aussehende Pläne.
Eine andere Möglichkeit, falls ein solcher Index existiert, ist
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