SQL सर्वर: दो तिथियों के बीच कुल दिन प्राप्त करें


146

मैं दो दिनों के बीच की कुल संख्या प्राप्त करने की कोशिश कर रहा हूं:

1/1/2011
3/1/2011

RETURN
62

क्या SQL Server में करना संभव है?


2
1/1 और 3/1 के बीच दिनों की संख्या हमारे वर्तमान कैलेंडर में 62 कभी नहीं लौटेगी। यह या तो 58 या 59 पर वापस आ जाएगा। यहां तक ​​कि अगर आप शुरुआत दिन और अंत दिन शामिल करते हैं, तो वह 60 या 61 होगा।
टायलरएच

7
और अगर आप यूएसए में नहीं हैं, तो 2 दिन वापस आ जाएंगे।
MGOwen

जवाबों:


287

PRINT DATEDIFF(DAY, '1/1/2011', '3/1/2011') आपको वही देंगे जो आप कर रहे हैं।

यह दो तिथियों के बीच आधी रात की सीमा को पार करने की संख्या देता है। यदि आप गणना में दोनों तिथियों को शामिल कर रहे हैं, तो एक को जोड़कर या घटाकर यदि आप किसी तिथि को शामिल नहीं करना चाहते हैं, तो आपको इसे जोड़ने की आवश्यकता हो सकती है।


यह डेटाटाइम और डेटाइम 2 को भी एक आकर्षण की तरह आगे बढ़ाता है जैसा कि मैं अपने परिणामों में देख सकता हूं।
होनज़ा पी।




12

एक और तारीख प्रारूप

select datediff(day,'20110101','20110301')

4
SELECT DATEDIFF(day, '2005-12-31 23:59:59.9999999', '2006-01-01 00:00:00.0000000');


-1

अगर आप भी यही प्रक्रिया Store Procedure करना चाहते हैं तो आपको नीचे दिए गए कोड को लागू करना होगा।

select  (datediff(dd,'+CHAR(39)+ convert(varchar(10),@FromDate  ,101)+ 
 CHAR(39)+','+CHAR(39)+ convert(varchar(10),@ToDate  ,101) + CHAR(39) +')) 
 Daysdiff

जहाँ @fromdate और @todate सपा का पैरामीटर है


-1
DECLARE @FDate DATETIME='05-05-2019' /*This is first date*/
 GETDATE()/*This is Current date*/
SELECT (DATEDIFF(DAY,(@LastDate),GETDATE())) As DifferenceDays/*this query will return no of days between firstdate & Current date*/

2
क्या आप कृपया अपना उत्तर बता सकते हैं? कोड-केवल उत्तर अक्सर व्याख्या करना मुश्किल हो सकता है।
जॉर्डन कैस्पर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.