मैं SQL सर्वर 2008 का उपयोग कर रहा हूं। मेरे पास डेटटाइम कॉलम "डेटफ्रॉम" पर एक गैर-अनन्य गैर-क्लस्टरेड इंडेक्स है। मैं इस कॉलम के आधार पर टेबल खोज रहा हूं।खोज करते समय INDEX पर CONVERT() का क्या प्रभाव है?
Query1:
SELECT *
FROM myTable
WHERE CONVERT(VARCHAR(10),DateFrom,23) >= '2011-01-01'
Query2:
SELECT *
FROM myTable
WHERE DateFrom >= '2011-01-01 00:00:00.000'
मैं & कोई अंतर नहीं पाया जाँच की है: मैं बस पता करने के लिए नीचे देखें सूचकांक पर CONVERT() फ़ंक्शन का असर चाहता था। लेकिन मैं सोच रहा था कि कॉलम कनवर्ट किया गया है, इसलिए एसक्यूएल सर्वर द्वारा इंडेक्स का उपयोग नहीं किया जा सकता है, क्या यह सही है?
कृपया मुझे क्षमा करें, अगर यह एक उचित सवाल नहीं है।
o.DateFrom - ओ-मामूली टाइपो के लिए कोई उपनाम नहीं है? – Andrew
* मैंने जांच की है और कोई फर्क नहीं पाया * - क्या आप कह रहे हैं कि आप वास्तव में निष्पादन योजनाओं की तुलना करते हैं और उन्हें समान पाते हैं? मुझे शक है कि; पहली क्वेरी स्ट्रिंग्स के नियमों का उपयोग करके तारों की तुलना करती है, दूसरी तुलना तिथियां। – GSerg
यदि आप 2008 में हैं और 'डेटटाइम' को 'डेट' पर कास्टिंग करते हैं, तो यह अभी भी एक इंडेक्स का उपयोग कर सकता है लेकिन यह नियम के लिए अपवाद है। –