2011-09-23 6 views
10

में गेटडेट को कैसे प्रारूपित करें SQL सर्वर में मैं getdate() आउटपुट को YYYYMMDDHHmmSS में प्रारूपित करता हूं जहां HH 24 घंटे का प्रारूप है?YYYYMMDDHHmmSS

मैं

select CONVERT(varchar,GETDATE(),112) 

साथ YYYYMMDD किया मिल गया है लेकिन यह है कि जहाँ तक मुझे मिल गया है।

धन्यवाद।

उत्तर

17
select replace(
     replace(
     replace(convert(varchar(19), getdate(), 126), 
     '-',''), 
     'T',''), 
     ':','') 
+10

और यह कितना बदसूरत है! :) –

+0

उत्तर के लिए बहुत बहुत धन्यवाद। इसने मेरी बहुत मदद की :)। –

6

बंद नहीं बल्कि वास्तव में क्या आप के लिए पूछ रहे हैं:

select CONVERT(varchar, GETDATE(), 126) 

उदा

2011-09-23T12:18:24.837 

(yyyy-MM-DDThh: मील: ss.mmm (कोई रिक्त स्थान), समय क्षेत्र के बिना ISO8601)

रेफरी: CAST and CONVERT

CONVERT() के साथ एक कस्टम स्वरूप निर्दिष्ट करने के लिए कोई तरीका नहीं है । दूसरा विकल्प आपके इच्छित प्रारूप में बनाने के लिए स्ट्रिंग मैनिपुलेशन करना है।

3

इस प्रयास करें:

चयन CONVERT (varchar, GETDATE(), 120) उदा

2011-09-23 12:18:24 (yyyy-mm-dd hh: mi: ss (24h), ओडीबीसी कैननिकल)।

एचएचटी।

17

बस SQL ​​सर्वर 2012 है कि आप प्रारूप समारोह का उपयोग कर सकते इस कार्यक्षमता के लिए खोज किसी के लिए:

SELECT FORMAT (GETDATE(), 'yyyyMMddHHmmss') AS 'Custom DateTime' 

यह किसी भी नेट प्रारूप यह एक उपयोगी नए इसके अलावा बनाने तार अनुमति देता है।

+2

+1 - बहुत उपयोगी। अब आप इन सभी डेटाटाइम.tostring प्रारूपों को .net फ्रेमवर्क से उपयोग कर सकते हैं। http://msdn.microsoft.com/en-us/library/zdtaw1bw(v=vs.110).aspx – TWood

+0

धन्यवाद, मेरे लिए काम किया! –

0

डेटाटाइम को कनवर्ट करने के तरीके को बदलने के लिए एक से अधिक कॉल की आवश्यकता होती है। इसके लिए सबसे अच्छा उपयोग एक समारोह में है जो एक वर्चर देता है।

select CONVERT(varchar,GETDATE(),112) --YYYYMMDD 
select CONVERT(varchar,GETDATE(),108) --HH:MM:SS 

समारोह

DECLARE @result as varchar(20) 
set @result = CONVERT(varchar,GETDATE(),112) + ' ' + CONVERT(varchar,GETDATE(),108) 
print @result 

20131220 13:15:50

अंदर तो एक साथ उन्हें रखो की तरह के रूप में Thinhbk पोस्ट आप select CONVERT(varchar,getdate(),20) या select CONVERT(varchar,getdate(),120) उपयोग कर सकते हैं काफी आप क्या चाहते हैं के करीब पाने के लिए।

1

एक और विकल्प!

SELECT CONVERT(nvarchar(8), GETDATE(),112) + 
    CONVERT(nvarchar(2),DATEPART(HH,GETDATE())) + 
    CONVERT(nvarchar(2),DATEPART(MI,GETDATE())) + 
    CONVERT(nvarchar(2),DATEPART(SS,GETDATE()));