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

एसक्यूएल में डेटाटाइम से तारीख पाने के लिए

आपकी क्वेरी आपके द्वारा अपेक्षित पंक्ति को वापस नहीं करने का कारण है, क्योंकि GETDATE() उस समय दिनांक और समय का भाग देता है जिस समय क्वेरी निष्पादित की गई थी। आपके DateCreated . में मान कॉलम समय भाग से मेल नहीं खाएगा, इसलिए कोई पंक्तियाँ नहीं लौटाई जाती हैं।

क्वेरी बनाने के कई तरीके हैं ताकि वह केवल दिनांक घटक के आधार पर दिनांक का मूल्यांकन कर सके। यहां एक उदाहरण दिया गया है:

WHERE YEAR(datecreated) = YEAR(GETDATE())
  AND MONTH(datecreated) = MONTH(GETDATE())
  AND DAY(datecreated) = DAY(GETDATE())

दुर्भाग्यपूर्ण वास्तविकता यह है कि स्तंभ पर किसी फ़ंक्शन का उपयोग करने वाली किसी भी क्वेरी का अर्थ है कि यदि स्तंभ पर कोई अनुक्रमणिका मौजूद है, तो उसका उपयोग नहीं किया जा सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्रोत नियंत्रण में संग्रहीत कार्यविधियाँ/DB स्कीमा

  2. SQL सर्वर में Concat समूह

  3. SQL सर्वर में किसी मौजूदा तालिका में एक परिकलित कॉलम जोड़ें

  4. डायनामिक एसक्यूएल - EXEC(@SQL) बनाम EXEC SP_EXECUTESQL(@SQL)

  5. SQL सर्वर एक्सप्रेस का डिफ़ॉल्ट उदाहरण नाम