SQL में अग्रणी 0 के साथ मुझे महीने और दिन कैसे मिलते हैं(उदा। 9=> 09)




tsql (8)

DECLARE @day CHAR(2)

SET @day = DATEPART(DAY, GETDATE())

PRINT @day

यदि आज 9 दिसंबर था, तो ऊपर "9" प्रिंट होगा।

मैं "09" प्रिंट करना चाहता हूं। मैं यह कार्य कैसे करूं?


इसे इस्तेमाल करे :

SELECT CONVERT(varchar(2), GETDATE(), 101)

Select Replicate('0',2 - DataLength(Convert(VarChar(2),DatePart(DAY, GetDate()))) + Convert(VarChar(2),DatePart(DAY, GetDate())

उन्होंने कहा कि गाल से जीभ निकालने के बाद वह दूर तक जाता है।

आमतौर पर जब आपको एसक्यूएल में इस तरह का काम करना शुरू करना होता है, तो आपको I से, I से स्विच करना होगा।


इसे 00 के साथ पैड करें और दाईं ओर 2 लें:

DECLARE @day CHAR(2)

SET @day = RIGHT('00' + CONVERT(NVARCHAR(2), DATEPART(DAY, GETDATE())), 2)

print @day

अपना खुद का तरीका रोल करें

यह किसी भी चीज को छोड़ देने के लिए एक सामान्य तरीका है। अवधारणा एक संस्करण बनाने के लिए REPLICATE का उपयोग करना है जो कुछ भी नहीं है, लेकिन गद्देदार मूल्य है। यदि डेटा NULLable है, तो isnull / coalesce कॉल का उपयोग करके, वास्तविक मूल्य के साथ इसे संक्षिप्त करें। अब आपके पास एक स्ट्रिंग है जो लक्ष्य की लंबाई से दोगुना है और लक्ष्य की लंबाई बिल्कुल या बीच में कहीं है। अब बस N दाएं-सबसे वर्णों से अलग है और आपके पास एक बाएं गद्देदार स्ट्रिंग है।

SELECT RIGHT(REPLICATE('0', 2) + CAST(DATEPART(DAY, '2012-12-09') AS varchar(2)), 2) AS leftpadded_day

देशी जाओ

msdn.microsoft.com/en-us/library/ms187928.aspx फ़ंक्शन प्री-स्वरूपित दिनांक प्राप्त करने के लिए विभिन्न तरीके प्रदान करता है। प्रारूप 103 निर्दिष्ट करता है dd जिसका अर्थ है कि प्रमुख शून्य को संरक्षित किया गया है ताकि सभी को पहले 2 वर्णों से अलग करना पड़े।

SELECT CONVERT(char(2), CAST('2012-12-09' AS datetime), 103) AS convert_day

अपने दिनांक मानों को पूर्व-स्वरूपित करने के लिए SQL सर्वर की दिनांक शैलियों का उपयोग करें।

SELECT
    CONVERT(varchar(2), GETDATE(), 101) AS monthLeadingZero  -- Date Style 101 = mm/dd/yyyy
    ,CONVERT(varchar(2), GETDATE(), 103) AS dayLeadingZero   -- Date Style 103 = dd/mm/yyyy

varchar के रूप में सही ('0000' + कास्ट (तिथि, वर्ष, GETDATE ()), 4) + '-' + + सही ('00 '+ कास्ट (महीने, GETDATE ()) का चयन करें (2)), 2) + '-' + + सही ('00 '+ कास्ट (तारीख, दिन, गेटडे) ()) के रूप में varchar (2)), 2) वर्षमान के रूप में


SQL सर्वर 2012 और ऊपर के लिए, अग्रणी शून्य के साथ:

 SELECT FORMAT(GETDATE(),'MM') 

के बिना:

SELECT    MONTH(GETDATE())

अग्रणी 0 दिन

SELECT FORMAT(GetDate(), 'dd')






tsql