मैं अनुमान लगा रहा हूँ EventDate
एक चार या वर्चर है और एक तारीख नहीं है अन्यथा खंड द्वारा आपका आदेश ठीक होगा।
आप CONVERT का उपयोग मानों को किसी दिनांक में बदलने और उसके अनुसार क्रमित करने के लिए कर सकते हैं
SELECT *
FROM
vw_view
ORDER BY
CONVERT(DateTime, EventDate,101) DESC
इसके साथ समस्या है, जैसा कि स्पार्की टिप्पणियों में बताता है, यदि EventDate का कोई मान है जिसे उस तिथि में परिवर्तित नहीं किया जा सकता है जो क्वेरी निष्पादित नहीं होगी।
इसका मतलब है कि आपको या तो खराब पंक्तियों को बाहर कर देना चाहिए या खराब पंक्तियों को परिणामों की तह तक जाने देना चाहिए
खराब पंक्तियों को बाहर करने के लिए बस WHERE IsDate(EventDate) = 1
add जोड़ें
खराब तिथियों को नीचे जाने देने के लिए आपको CASE
. का उपयोग करने की आवश्यकता है
उदा.
ORDER BY
CASE
WHEN IsDate(EventDate) = 1 THEN CONVERT(DateTime, EventDate,101)
ELSE null
END DESC