यह लेख आपको विस्तार से दिखाएगा कि SQL Server में TRY_CAST डेटा टाइप कन्वर्जन फंक्शन का उपयोग कैसे करें, विशिष्ट सिंटैक्स और उदाहरणों के साथ ताकि फंक्शन को बेहतर ढंग से समझा और ग्रहण किया जा सके।
विवरण
TRY_CAST फंक्शन SQL Server में एक एक्सप्रेशन को एक डेटा टाइप से दूसरे में बदलता है। यदि कन्वर्जन विफल होता है, तो TRY_CAST NULL लौटाएगा, अन्यथा यह संबंधित कन्वर्जन मान लौटाएगा।
सिंटैक्स
SQL Server में TRY_CAST फंक्शन का उपयोग करने के लिए, हम निम्नलिखित सिंटैक्स का उपयोग करते हैं:
TRY_CAST(एक्सप्रेशन AS डेटाटाइप [(लंबूई)])
पैरामीटर्स :
- एक्सप्रेशन: वह मान जिसे दूसरे डेटा टाइप में बदलना है, यह टेबल में कॉलम का नाम या गणना एक्सप्रेशन भी हो सकता है जिसे नए डेटा टाइप में बदलने की आवश्यकता है।
- डेटाटाइप: वह नया डेटा टाइप नाम जिसमे एक्सप्रेशन को बदला जाएगा। निम्नलिखित में से एक हो सकता है: bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary या image.
- लंबाई (वैकल्पिक): char, varchar, nchar, nvarchar, binary और varbinary. के परिणाम के लिए डेटा टाइप लंबाई।
नोट :
- float या numeric डेटा को int इंटीजर में बदलते समय, TRY_CAST फंक्शन दशमलव भाग को पीछे से काट देगा।
- CAST, CONVERT और TRY_CONVERT फंक्शन भी देखें।
- TRY_CAST का उपयोग SQL Server के बाद के संस्करणों में किया जा सकता है: SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012।
उदाहरण के लिए
SQL Server में TRY_CAST फंक्शन के कुछ उदाहरण देखें और जानें।
SELECT TRY_CAST(14.85 AS int);
परिणाम: 14
(परिणाम एक int मान है जिसका दशमलव भाग काटा गया है)
SELECT TRY_CAST(14.85 AS float);
परिणाम: 14.85
(परिणाम float मान के रूप में लौटाया गया है और छोटा नहीं किया गया)
SELECT TRY_CAST('14 Main St.' AS float);
परिणाम: NULL
(परिणाम NULL है क्योंकि इस स्ट्रिंग मान को float में बदलना संभव नहीं है)
SELECT TRY_CAST(15.6 AS varchar);
परिणाम: '15.6'
(परिणाम varchar के रूप में लौटाया गया है)
SELECT TRY_CAST(15.6 AS varchar(2));
परिणाम: NULL
(परिणाम NULL है क्योंकि कन्वर्जन सफल नहीं हुआ क्योंकि मान 2 वर्ण की varchar लंबाई के लिए उपयुक्त नहीं है)
SELECT TRY_CAST('2018-09-13' AS datetime);
परिणाम: '2018-09-13 00:00:00.000'
(परिणाम datetime के रूप में लौटाया गया है)