Jeg gætter på EventDate
er en char eller varchar og ikke en dato ellers ville din ordre efter klausul være i orden.
Du kan bruge CONVERT til at ændre værdierne til en dato og sortere efter den
SELECT *
FROM
vw_view
ORDER BY
CONVERT(DateTime, EventDate,101) DESC
Problemet med det er, som Sparky påpeger i kommentarerne, hvis EventDate har en værdi, der ikke kan konverteres til en dato, vil forespørgslen ikke udføres.
Det betyder, at du enten skal ekskludere de dårlige rækker eller lade de dårlige rækker gå til bunden af resultaterne
For at udelukke de dårlige rækker skal du blot tilføje WHERE IsDate(EventDate) = 1
For at lade de dårlige datoer gå til bunds skal du bruge CASE
f.eks.
ORDER BY
CASE
WHEN IsDate(EventDate) = 1 THEN CONVERT(DateTime, EventDate,101)
ELSE null
END DESC