कनवर्ट करें दिनांक yyyy-mm-dd को पूर्णांक YYYYMM


17

मैं कैसे बदल सकता हूं @dateb:

SET @dateb = dateadd(month, datediff(month, 0, getdate()) - 3, 0)

के 2014-04-04पूर्णांक के लिए दिनांक के रूप में वापस आता है201404

धन्यवाद

जवाबों:


19

संस्करण 2012 या उच्चतर पर आप formatफ़ंक्शन का उपयोग केवल वर्ष और महीने प्राप्त करने के लिए कर सकते हैं , फिर इसे इंट के रूप में डाल सकते हैं।

2012 से पहले के संस्करणों पर आप convertफ़ंक्शन के साथ स्वरूपण कर सकते हैं , फिर इंट के रूप में डाली जा सकती है।

declare @dateb datetime
set @dateb = getdate()

select cast(format(@dateb,'yyyyMM') as int) --2012 or higher
select cast(convert(varchar(6),@dateb,112) as int) -- all versions


13

शायद थोड़ा सा टिडियर:

SELECT YEAR(@dateb)*100 + MONTH(@dateb);

1
मैं इस बात को पूरी ईमानदारी से मानता हूं। आपके पास एक तारीख है, जिसमें पूर्णांक उपक्षेत्र हैं; आप एक पूर्णांक चाहते हैं। पृथ्वी पर कोई भी तार प्रसंस्करण क्यों करते हैं?
रॉस प्रेसर

-1

यह तुम्हारे लिए चाल कर सकता है?

set @dateb = cast(convert(varchar, dateadd(month, datediff(month, 0, getdate()) - 3, 0), 112) as int)

क्षमा करें, मैं भूल गया, आपको एक विकल्प की भी आवश्यकता होगी। तो यह:

select cast(substring(convert(varchar, dateadd(month, datediff(month, 0, getdate()) - 3, 0), 112), 0, 7) as int)


-1

एक अन्य विधि:

DECLARE @PeriodToCalculate_DATE [DATE] ='2016-02-29'

SELECT 
   CAST(DATEPART(YYYY,@PeriodToCalculate_DATE) AS [CHAR](4))
       + RIGHT('0' + CAST(DATEPART(M,@PeriodToCalculate_DATE) AS [VARCHAR](2)),2)  
       + RIGHT('0' + CAST(DATEPART(D,@PeriodToCalculate_DATE) AS [VARCHAR](2)),2);

देता है: 20160229

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.