में मानों के बीच दिनांक के लिए एसक्यूएल खोज करें, मेरे पास एक टी-एसक्यूएल संग्रहीत प्रक्रिया है जहां मैं एक विशेष मूल्य खोजना चाहता हूं और वैकल्पिक रूप से विशेष तारीखों को खोज को सीमित कर देता हूं यदि वे पास हो जाते हैं। यदि शून्य मान हैं इन तिथियों में से किसी एक के लिए पारित किया गया, तो मैं उनको अनदेखा करना चाहता हूं। जिस तरह से मैं इनपुट तारीखों को कम से कम या अधिकतम पर सेट करके ऐसा करने के बारे में सोच रहा हूं, यदि वे शून्य हैं। हालांकि मैं न्यूनतम और अधिकतम मूल्यों को हार्डकोड नहीं करना चाहूंगा। इसलिए मैं सोच रहा हूं कि सी # DateTime.MaxValue
और DateTime.MinValue
के एसक्यूएल समकक्ष क्या हैं।शून्य
मैं वहाँ है तो
SELECT EmployeeName FROM Employee
WHERE EmployeeID = @EmployeeId AND
Birthday BETWEEN Coalesce(@StartDate, <MinDateTime>) AND
Coalesce(@EndDate, <MaxDateTime>)
तरह संगठित होना का उपयोग कर की सोच रहा हूँ एक समारोह/लगातार/चर/enum मैं <MinDateTime>
और <MaxDateTime>
चर के लिए उपयोग कर सकते हैं में बनाया गया?
कोई सुझाव?
बहुत ही रोचक। मैंने कभी कोलेसेस (@ स्टार्टडेट, जन्मदिन) पैटर्न पहले कभी नहीं देखा था। मुझे लगता है कि मैक्सडेट और दिमागी नामक एक चर बनाने और हार्डकोडेड तिथियों में इसके मान सेट करना बहुत अधिक पठनीय हो सकता है। लेकिन हाँ, मैं जिस मुख्य जानकारी की तलाश कर रहा था वह एसक्यूएल – Chaitanya
में सीमल्स/स्थिरांक की कमी थी, कोलासिस चाल - +1 यह बयान में है कि यह बड़ी तालिकाओं के लिए स्केल नहीं करेगा, SQL सर्वर इंडेक्स का उपयोग करने में सक्षम नहीं प्रतीत होता है जन्मदिन कॉलम पर। हार्ड कोडिंग न्यूनतम और अधिकतम तिथियां इंडेक्स के साथ अच्छी तरह से काम करती हैं। संदर्भों के लिए –