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

किसी भी पिछले महीने डेटा प्राप्त करने के लिए SQL

मैं कोई SQL विशेषज्ञ नहीं हूं, लेकिन इसे आजमाएं:

SELECT [Circuit Number]
,[Request Number]
,[RequestDate]
FROM Requests
WHERE RequestType LIKE 'Cancel%'
AND DATEDIFF(mm,Requestdate , GETDATE())=1
AND DATEDIFF(yy,Requestdate, GETDATE())=0

मेरा Fiddle डेमो देखें

व्याख्या:

DATEDIFF(mm,Requestdate , GETDATE())=1 (Only Request previous Month of the Current Date)

अगली शर्त:

DATEDIFF(yy,Requestdate, GETDATE())=0 (Only in same year as Current Date)

हालाँकि, यदि आप केवल पिछले महीने चाहते हैं, भले ही वह वर्तमान तिथि के समान वर्ष हो या नहीं, तो आप दूसरी शर्त को हटा सकते हैं, जैसे:

SELECT [Circuit Number]
,[Request Number]
,[RequestDate]
FROM Requests
WHERE RequestType LIKE 'Cancel%'
AND DATEDIFF(mm,Requestdate , GETDATE())=1

देखें डेमो इसके लिए।

उदाहरण के लिए यदि CurrentDate 2013-01-19 . है फिर कोई December 2012 अनुरोध शामिल किया जाएगा इसके बावजूद कि यह उसी वर्ष का नहीं है, लेकिन स्पष्ट रूप से पिछले महीने का है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सर्वर में सभी डेटाबेस के लिए संदर्भ संग्रहीत कार्यविधियाँ

  2. CONCAT () के साथ SQL सर्वर में स्ट्रिंग्स को कैसे संयोजित करें

  3. MDF फ़ाइल खोलने में समस्या क्योंकि यह SQL त्रुटि 5171 कहती है? - आंद्रे विलियम्स द्वारा एक अतिथि पोस्ट

  4. SQL सर्वर में एक स्ट्रिंग के भीतर एक स्ट्रिंग कैसे खोजें?

  5. ROW_NUMBER() OVER (पार्टिशन बाय ...) का उपयोग करने में समस्या