मैं कोई 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
अनुरोध शामिल किया जाएगा इसके बावजूद कि यह उसी वर्ष का नहीं है, लेकिन स्पष्ट रूप से पिछले महीने का है।