SQL सर्वर में, CONVERT()
फ़ंक्शन एक डेटा प्रकार की अभिव्यक्ति को दूसरे में परिवर्तित करता है।
यहां उदाहरणों के साथ फ़ंक्शन का त्वरित अवलोकन दिया गया है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
जहां expression
कन्वर्ट करने के लिए अभिव्यक्ति है, data_type
नया डेटा प्रकार है, और length
नए डेटा प्रकार के लिए एक वैकल्पिक लंबाई है।
वैकल्पिक style
तर्क का उपयोग यह निर्दिष्ट करने के लिए किया जा सकता है कि फ़ंक्शन को expression
. का अनुवाद कैसे करना चाहिए बहस। उदाहरण के लिए, आप इस तर्क का उपयोग दिनांक स्वरूप निर्दिष्ट करने के लिए कर सकते हैं।
उदाहरण
यहाँ एक स्ट्रिंग को दशमलव में बदलने का एक उदाहरण दिया गया है:
SELECT CONVERT(DECIMAL(5,2), '007');
परिणाम:
7.00
स्ट्रिंग टू डेट
किसी तारीख को स्ट्रिंग कास्ट करने का एक उदाहरण यहां दिया गया है:
SELECT CONVERT(date, '09 Feb 2030');
परिणाम:
2030-02-09
इस मामले में CONVERT()
फ़ंक्शन यह निर्धारित करने में सक्षम था कि कौन से दिनांक भाग हैं क्योंकि मैंने दिनांक को उस प्रारूप में प्रदान किया है जिसे वह पहचानता है।
एक ऐसा मान पास करना जिसे दिनांक के रूप में कास्ट नहीं किया जा सकता एक त्रुटि उत्पन्न करता है:
SELECT CONVERT(date, 'My Birthday');
परिणाम:
Msg 241, Level 16, State 1, Line 1 Conversion failed when converting date and/or time from character string.
लोकेल
वर्तमान सत्र की भाषा तिथियों की व्याख्या के तरीके में अंतर ला सकती है।
यहां बताया गया है कि ब्रिटिश भाषा का उपयोग करते समय क्या होता है:
SET LANGUAGE British;
SELECT CONVERT(date, '09/02/2030');
परिणाम:
2030-02-09
इस मामले में, तारीख को फरवरी के नौवें दिन के रूप में व्याख्यायित किया गया था।
आइए भाषा को us_English
में बदलें :
SET LANGUAGE us_English;
SELECT CONVERT(date, '09/02/2030');
परिणाम:
2030-09-02
इस बार इसने तारीख को सितंबर के दूसरे दिन के रूप में व्याख्यायित किया।
द style
तर्क
हम वैकल्पिक style
. का उपयोग कर सकते हैं यह निर्दिष्ट करने के लिए तर्क कि अभिव्यक्ति का अनुवाद कैसे किया जाना चाहिए।
उदाहरण:
SET LANGUAGE British;
SELECT
CONVERT(date, '09/02/2030') AS "British",
CONVERT(date, '09/02/2030', 101) AS "US",
CONVERT(date, '09/02/30', 1) AS "US (short)",
CONVERT(date, '20300902', 112) AS "ISO",
CONVERT(date, '09.02.2030', 104) AS "German";
परिणाम:
+------------+------------+--------------+------------+------------+ | British | US | US (short) | ISO | German | |------------+------------+--------------+------------+------------| | 2030-02-09 | 2030-09-02 | 2030-09-02 | 2030-09-02 | 2030-02-09 | +------------+------------+--------------+------------+------------+
स्ट्रिंग संयोजन
स्ट्रिंग के साथ मान को जोड़ने के लिए एक स्ट्रिंग के लिए एक संख्यात्मक मान कास्ट करने का एक उदाहरण यहां दिया गया है:
SELECT 'Age: ' + CONVERT(varchar(10), 27);
परिणाम:
Age: 27
अगर हम इसे पहले रूपांतरित नहीं करते हैं तो यहां क्या होता है:
SELECT 'Age: ' + 27;
परिणाम:
Msg 245, Level 16, State 1, Line 1 Conversion failed when converting the varchar value 'Age: ' to data type int.
अलग-अलग डेटा प्रकारों के साथ दो मानों को संयोजित करने का प्रयास करते समय, SQL सर्वर को दूसरे के डेटा प्रकार का उपयोग करने के लिए एक मान को परोक्ष रूप से परिवर्तित करने की आवश्यकता होती है, ताकि संयोजन करने से पहले वे दोनों एक ही डेटा प्रकार हों। यह रूपांतरण करने के लिए डेटा प्रकार प्राथमिकता के नियमों का पालन करता है।
SQL सर्वर में, int
varchar
. की तुलना में डेटा प्रकार की उच्च प्राथमिकता होती है .
इसलिए, उपरोक्त उदाहरण में, SQL सर्वर स्ट्रिंग को पूर्णांक में बदलने का प्रयास करता है, लेकिन यह विफल हो जाता है क्योंकि स्ट्रिंग को पूर्णांक में परिवर्तित नहीं किया जा सकता है।
पाठ को छोटा करना
एक आसान छोटी सी तरकीब जिसे हम CONVERT()
. के साथ निष्पादित कर सकते हैं फ़ंक्शन लंबे स्ट्रिंग्स को अधिक पठनीय लंबाई में छोटा करना है।
डेटाबेस तालिका से चयनित टेक्स्ट को छोटा करने का एक उदाहरण यहां दिया गया है:
SELECT
ProductName,
CONVERT(varchar(20), ProductName) AS Truncated
FROM Products;
परिणाम:
+---------------------------------+----------------------+ | ProductName | Truncated | |---------------------------------+----------------------| | Left handed screwdriver | Left handed screwdri | | Long Weight (blue) | Long Weight (blue) | | Long Weight (green) | Long Weight (green) | | Sledge Hammer | Sledge Hammer | | Chainsaw | Chainsaw | | Straw Dog Box | Straw Dog Box | | Bottomless Coffee Mugs (4 Pack) | Bottomless Coffee Mu | | Right handed screwdriver | Right handed screwdr | +---------------------------------+----------------------+
अधिक जानकारी
CONVERT()
फ़ंक्शन CAST()
के समान कार्य करता है फ़ंक्शन, और कई डेटा रूपांतरण किसी एक का उपयोग करके किए जा सकते हैं। उस ने कहा, उनके बीच मतभेद हैं।
CAST()
. के लिए Microsoft के दस्तावेज़ देखें और CONVERT()
इस फ़ंक्शन का उपयोग करने के बारे में अधिक विस्तृत जानकारी के लिए।