SQL सर्वर का उपयोग करते समय, आप CONVERT()
का उपयोग करके दिनांक/समय मान को एक स्ट्रिंग में परिवर्तित कर सकते हैं समारोह। यह फ़ंक्शन आपको विभिन्न डेटा प्रकारों के बीच कनवर्ट करने की अनुमति देता है।
इस लेख में, हम विभिन्न दिनांक/समय डेटा प्रकारों के बीच एक varchar
. में कनवर्ट करेंगे या nvarchar
स्ट्रिंग।
इस फ़ंक्शन के बारे में एक अच्छी बात यह है कि यह आपको उस शैली को निर्दिष्ट करने की अनुमति देता है जिसमें दिनांक वापस किया जाएगा। उदाहरण के लिए, आप निर्दिष्ट कर सकते हैं कि क्या इसे mm/dd/yyyy के रूप में वापस किया गया है। , yyyy.mm.dd , सोम दिन, वर्ष , आदि। आप यह भी निर्दिष्ट कर सकते हैं कि क्या समय घटक लौटाया गया है और इसे कैसे स्टाइल किया गया है।
सिंटैक्स
सबसे पहले, यहां बताया गया है कि आधिकारिक सिंटैक्स कैसा होता है:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
इन तर्कों को इस प्रकार परिभाषित किया गया है:
expression
- कोई मान्य अभिव्यक्ति।
data_type
- लक्ष्य डेटा प्रकार। इसमें शामिल है xml , बिगिंट , और sql_variant . उपनाम डेटा प्रकारों का उपयोग नहीं किया जा सकता है।
length
- एक वैकल्पिक पूर्णांक जो लक्ष्य डेटा प्रकार की लंबाई निर्दिष्ट करता है। डिफ़ॉल्ट मान
30
है । style
- एक पूर्णांक व्यंजक जो निर्दिष्ट करता है कि कैसे
CONVERT()
फ़ंक्शन अभिव्यक्ति . का अनुवाद करेगा . NULL के स्टाइल मान के लिए, NULL लौटाया जाता है। data_type सीमा निर्धारित करता है।
मूल उदाहरण
इस उदाहरण में, हम एक वैरिएबल घोषित करते हैं और GETDATE()
. से एक मान असाइन करते हैं समारोह। फिर हम मान वापस कर देते हैं, और हम उस मान को varchar
. में भी बदल देते हैं और उसे वापस कर दें:
DECLARE @date datetime = GETDATE(); SELECT @date AS Original, CONVERT(varchar, @date) AS Converted;
परिणाम:
+-------------------------+---------------------+ | Original | Converted | |-------------------------+---------------------| | 2018-06-07 03:08:21.997 | Jun 7 2018 3:08AM | +-------------------------+---------------------+
रिटर्न डेटा प्रकार की डिफ़ॉल्ट लंबाई 30
. है , इसलिए भले ही हमने केवल varchar
. निर्दिष्ट किया हो , यह परिणाम को varchar(30)
. के रूप में लौटाएगा ।
इस उदाहरण में, हमने उस शैली को इंगित करने के लिए तीसरा तर्क प्रदान नहीं किया जिसमें हम चाहते हैं कि वह वापस आए। इसलिए, इसे डेटाटाइम के लिए डिफ़ॉल्ट शैली का उपयोग करके परिवर्तित किया गया है। और स्मॉलडेटटाइम डेटा प्रकार, जो 0
. है या 100
(नीचे शैलियों पर अधिक)।
शैली निर्दिष्ट करना
आप उस शैली को निर्दिष्ट करने के लिए तीसरे तर्क का उपयोग कर सकते हैं जिस पर वापसी मूल्य लगेगा:
DECLARE @date datetime = GETDATE(); SELECT @date AS Original, CONVERT(varchar(30), @date, 102) AS Converted;
परिणाम:
+-------------------------+-------------+ | Original | Converted | |-------------------------+-------------| | 2018-06-07 03:42:33.840 | 2018.06.07 | +-------------------------+-------------+
इस उदाहरण में, हमने 102
. की शैली निर्दिष्ट की है , जो चार अंकों वाले वर्ष घटक के साथ दिनांक प्रदर्शित करने के लिए एएनएसआई मानक है।
इसे दो अंकों वाले वर्ष के साथ ANSI प्रारूप में बदलने के लिए, हम 2
की शैली का उपयोग कर सकते हैं :
DECLARE @date datetime = GETDATE(); SELECT @date AS Original, CONVERT(varchar(30), @date, 2) AS Converted;
परिणाम:
+-------------------------+-------------+ | Original | Converted | |-------------------------+-------------| | 2018-06-07 03:44:52.433 | 18.06.07 | +-------------------------+-------------+
आप CONVERT() पर दिनांक/समय से लेकर SQL सर्वर में स्ट्रिंग उदाहरणों तक के और उदाहरण देख सकते हैं।