Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

टी-एसक्यूएल में तिथियों की तुलना करें, समय भाग को अनदेखा करें

ऐसा करने का सबसे उचित तरीका डेटाटाइम मानों के समय भाग को अलग करना और परिणामों की तुलना करना है, और डेटाटाइम से समय भाग को अलग करने का सबसे अच्छा तरीका इस प्रकार है:

cast(current_timestamp as date)    

मैं एक ऐसी प्रक्रिया का उपयोग और समर्थन करता था जो निम्नलिखित दो पंक्तियों में से एक की तरह दिखती थी:

cast(floor(cast(getdate() as float)) as datetime)
dateadd(dd,0, datediff(dd,0, getDate()))

लेकिन अब जबकि Sql सर्वर के पास Date . है प्रकार, जिसमें समय घटक नहीं है, उन तकनीकों में से किसी एक का उपयोग करने का कोई कारण नहीं है।

ध्यान में रखने वाली एक और बात यह है कि यह अभी भी एक प्रश्न को रोक देगा यदि आपको इसे प्रत्येक पंक्ति के लिए दो डेटाटाइम मानों के लिए करने की आवश्यकता है जहां खंड या स्थिति में शामिल हों। यदि संभव हो तो आप इसे किसी भी तरह से कारक बनाना चाहते हैं, इसलिए जितना संभव हो सके इसकी पूर्व-गणना की जाती है, उदाहरण के लिए एक दृश्य या गणना कॉलम का उपयोग करना।

अंत में, ध्यान दें कि DATEDIFF फ़ंक्शन पार की गई सीमाओं की संख्या की तुलना करता है। इसका अर्थ है '2009-09-14 11:59:59' . के बीच के दिनों में दिनांकित और '2009-09-15 00:00:01' 1 है, भले ही केवल 2 सेकंड बीत चुके हों, लेकिन DATEDIFF '2009-09-15 00:00:01' के बीच के दिनों में और '2009-09-15 11:59:59' अभी भी शून्य है, भले ही 86,398 सेकंड बीत चुके हों। यह वास्तव में वहां के समय के हिस्से, केवल सीमाओं के बारे में बिल्कुल भी परवाह नहीं करता है। आपकी क्वेरी क्या करने का प्रयास कर रही है, इस पर निर्भर करते हुए, आप अपने लाभ के लिए इसका उपयोग करने में सक्षम हो सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में एक-से-शून्य-या-एक संबंध लागू करना

  2. SQL सर्वर में वर्तमान सत्र के लिए दिनांक स्वरूप बदलें

  3. SQL सर्वर में डेटाटाइम बनाम डेटाटाइमऑफ़सेट:क्या अंतर है?

  4. SQL सर्वर 2016:हमेशा एन्क्रिप्टेड का प्रदर्शन प्रभाव

  5. विभाजन स्विचिंग का उपयोग करके कम रुकावट के साथ SQL सर्वर तालिकाओं को ताज़ा करना