EventDate
を推測しています はcharまたはvarcharであり、日付ではありません。そうでない場合は、句による順序で問題ありません。
CONVERTを使用して、値を日付に変更し、それで並べ替えることができます
SELECT *
FROM
vw_view
ORDER BY
CONVERT(DateTime, EventDate,101) DESC
それに関する問題は、Sparkyがコメントで指摘しているように、EventDateにクエリが実行されない日付に変換できない値がある場合です。
つまり、不良行を除外するか、不良行を結果の下部に配置する必要があります
不正な行を除外するには、WHERE IsDate(EventDate) = 1
を追加するだけです。
悪い日付を一番下に移動させるには、CASE
を使用する必要があります
例:
ORDER BY
CASE
WHEN IsDate(EventDate) = 1 THEN CONVERT(DateTime, EventDate,101)
ELSE null
END DESC