यदि आपको SQL सर्वर में किसी स्ट्रिंग को दिनांक/समय मान में कनवर्ट करने की आवश्यकता है, तो आपके पास कई विकल्प हैं। इस पोस्ट में मैं छह टी-एसक्यूएल कार्यों की रूपरेखा तैयार करता हूं जो आपको ऐसा करने की अनुमति देते हैं।
छह कार्य हैं:
CAST()
CONVERT()
PARSE()
TRY_CAST()
TRY_CONVERT()
TRY_PARSE()
स्ट्रिंग को दिनांक/समय डेटा प्रकार में बदलने के लिए आप इन कार्यों का उपयोग कैसे कर सकते हैं, इसका उदाहरण नीचे दिया गया है।
द कास्ट () फंक्शन
इस उदाहरण में, हम स्ट्रिंग को एक तारीख . में बदलते हैं डेटा प्रकार (हम इसे date
. का उपयोग करके निर्दिष्ट करते हैं दूसरे तर्क के रूप में)।
SELECT CAST('20 Dec 2018' AS date) AS Result;
परिणाम:
+------------+ | Result | |------------| | 2018-12-20 | +------------+
अधिक उदाहरणों के लिए, CAST()
का उपयोग करके SQL सर्वर में किसी स्ट्रिंग को दिनांक/समय में कनवर्ट करने का तरीका देखें। ।
कन्वर्ट() फ़ंक्शन
यहां, हम पिछले उदाहरण के समान रूपांतरण करते हैं, लेकिन CONVERT()
. के साथ समारोह। यहाँ केवल सिंटैक्स का अंतर है।
SELECT CONVERT(date, '20 Dec 2018') AS Result;
परिणाम:
+------------+ | Result | |------------| | 2018-12-20 | +------------+
अधिक उदाहरणों के लिए, CONVERT()
का उपयोग करके SQL सर्वर में किसी स्ट्रिंग को दिनांक/समय में कनवर्ट करने का तरीका देखें। ।
PARSE() फ़ंक्शन
इस उदाहरण में, मैं कार्यदिवस को स्ट्रिंग के हिस्से के रूप में जोड़ता हूं। मेरे द्वारा ऐसा करने का कारण यह प्रदर्शित करना है कि इस फ़ंक्शन का दूसरों पर क्या लाभ है। यदि आप अन्य कार्यों के लिए इस प्रारूप में दिनांक प्रदान करते हैं, तो आपको एक त्रुटि मिलेगी। लेकिन PARSE()
फ़ंक्शन इसे संभाल सकता है:
SELECT PARSE('Thursday, 20 Dec 2018' AS datetime2) AS 'Result';
परिणाम:
+-----------------------------+ | Result | |-----------------------------| | 2018-12-20 00:00:00.0000000 | +-----------------------------+
अधिक उदाहरणों के लिए, PARSE()
का उपयोग करके SQL सर्वर में किसी स्ट्रिंग को दिनांक/समय में कनवर्ट करने का तरीका देखें। ।
TRY_CAST() फ़ंक्शन
आप TRY_CAST()
use का उपयोग कर सकते हैं CAST()
. के बजाय त्रुटियों से निपटने का एक आसान तरीका प्रदान करने के लिए। CAST()
. का उपयोग करते समय फ़ंक्शन, यदि कास्ट विफल रहता है, तो यह एक त्रुटि देता है। हालांकि, यदि आप TRY_CAST()
. का उपयोग करते हैं इसके बजाय फ़ंक्शन, यह NULL
returns देता है ऐसे मामलों में।
यहां कास्ट फेल होने का एक उदाहरण दिया गया है:
SELECT TRY_CAST('Next month' AS date) AS Result;
परिणाम:
+----------+ | Result | |----------| | NULL | +----------+
यदि हम CAST()
. को वही मान प्रदान करते हैं इसके बजाय कार्य करें, यहाँ क्या होता है:
SELECT CAST('Next month' AS date) AS Result;
परिणाम:
Conversion failed when converting date and/or time from character string.
अधिक उदाहरणों के लिए, देखें CAST
बनाम TRY_CAST
SQL सर्वर में:क्या अंतर है?
TRY_CONVERT() फ़ंक्शन
आप TRY_CONVERT()
. का भी उपयोग कर सकते हैं CONVERT()
. के बजाय बेहतर त्रुटि प्रबंधन के लिए। अगर CONVERT()
फ़ंक्शन विफल रहता है यह एक त्रुटि देता है। लेकिन अगर TRY_CONVERT()
विफल रहता है, यह NULL
लौटाता है ।
रूपांतरण विफल होने का एक उदाहरण यहां दिया गया है:
SELECT TRY_CONVERT(date, 'Next month') AS Result;
परिणाम:
+----------+ | Result | |----------| | NULL | +----------+
यदि हम CONVERT()
. को वही मान प्रदान करते हैं इसके बजाय कार्य करें, यहाँ क्या होता है:
SELECT CONVERT(date, 'Next month') AS Result;
परिणाम:
Conversion failed when converting date and/or time from character string.
अधिक उदाहरणों के लिए, देखें CONVERT
बनाम TRY_CONVERT
SQL सर्वर में:क्या अंतर है?
TRY_PARSE() फ़ंक्शन
आप TRY_PARSE()
का भी उपयोग कर सकते हैं PARSE()
. के बजाय बेहतर त्रुटि प्रबंधन के लिए। अगर PARSE()
फ़ंक्शन विफल रहता है यह एक त्रुटि देता है। लेकिन अगर TRY_PARSE()
विफल रहता है, यह NULL
लौटाता है ।
रूपांतरण विफल होने का एक उदाहरण यहां दिया गया है:
SELECT TRY_PARSE('Next month' AS date) AS Result;
परिणाम:
+----------+ | Result | |----------| | NULL | +----------+
यदि हम PARSE()
. को वही मान प्रदान करते हैं इसके बजाय कार्य करें, यहाँ क्या होता है:
SELECT PARSE('Next month' AS date) AS Result;
परिणाम:
Error converting string value 'Next month' into data type date using culture ''.