Zgaduję EventDate
to znak lub varchar, a nie data, w przeciwnym razie Twoje zamówienie według klauzuli będzie w porządku.
Możesz użyć opcji CONVERT, aby zmienić wartości na datę i posortować według tego
SELECT *
FROM
vw_view
ORDER BY
CONVERT(DateTime, EventDate,101) DESC
Problem polega na tym, jak wskazuje Sparky w komentarzach, jeśli EventDate ma wartość, której nie można przekonwertować na datę, której zapytanie nie zostanie wykonane.
Oznacza to, że powinieneś albo wykluczyć złe wiersze, albo pozwolić, by złe wiersze trafiły na dół wyników
Aby wykluczyć złe wiersze, po prostu dodaj WHERE IsDate(EventDate) = 1
Aby złe daty spadły na sam dół, musisz użyć CASE
np.
ORDER BY
CASE
WHEN IsDate(EventDate) = 1 THEN CONVERT(DateTime, EventDate,101)
ELSE null
END DESC