Hádám EventDate
je char nebo varchar a ne datum, jinak by vaše objednávka podle klauzule byla v pořádku.
Pomocí CONVERT můžete změnit hodnoty na datum a seřadit podle toho
SELECT *
FROM
vw_view
ORDER BY
CONVERT(DateTime, EventDate,101) DESC
Problém s tím je, jak Sparky zdůrazňuje v komentářích, pokud EventDate má hodnotu, kterou nelze převést na datum, kdy se dotaz nespustí.
To znamená, že byste měli buď vyloučit špatné řádky, nebo nechat špatné řádky přejít na konec výsledků
Chcete-li vyloučit špatné řádky, stačí přidat WHERE IsDate(EventDate) = 1
Chcete-li nechat špatná data jít dolů, musíte použít CASE
např.
ORDER BY
CASE
WHEN IsDate(EventDate) = 1 THEN CONVERT(DateTime, EventDate,101)
ELSE null
END DESC