SQL सर्वर डेटा प्रकार उदाहरणों के साथ
⚡ स्मार्ट सारांश
SQL सर्वर डेटा प्रकार यह परिभाषित करते हैं कि कोई कॉलम या वेरिएबल किस प्रकार का मान संग्रहीत कर सकता है, जैसे कि पूर्णांक, दशमलव, वर्ण, दिनांक या बाइनरी। सही प्रकार का चयन वैध डेटा सुनिश्चित करता है और मेमोरी का कुशलतापूर्वक उपयोग करता है।

डेटा प्रकार क्या है?
एक डेटा प्रकार में एमएस SQL सर्वर इसे किसी कॉलम या वेरिएबल में संग्रहीत किए जा सकने वाले डेटा के प्रकार के रूप में परिभाषित किया जाता है। यह उस प्रकार का डेटा है जिसे कोई ऑब्जेक्ट धारण करता है, जैसे कि पूर्णांक, वर्ण या स्ट्रिंग। किसी भी संरचना को बनाते समय, तालिका or परिवर्तनशीलनाम निर्दिष्ट करने के अलावा, आप उस डेटा का प्रकार भी निर्धारित करते हैं जिसे वह संग्रहीत करेगा।
MS SQL डेटाटाइप का उपयोग कैसे करें
किसी कॉलम या वेरिएबल में संग्रहीत किए जा सकने वाले डेटा के प्रकार को पहले से परिभाषित करना आवश्यक है। डेटा प्रकार निर्धारित करने से उपयोगकर्ता को किसी भी अप्रत्याशित या अमान्य डेटा को दर्ज करने से भी रोका जा सकता है।
किसी वेरिएबल या कॉलम को उपयुक्त डेटा प्रकार निर्दिष्ट करके आप मेमोरी का कुशलतापूर्वक उपयोग कर सकते हैं, जिससे उस कॉलम के डेटा के लिए केवल आवश्यक मात्रा में सिस्टम मेमोरी आवंटित होती है।
एमएस एसक्यूएल बुनियादी डेटा प्रकारों की एक विस्तृत श्रृंखला प्रदान करता है। एसक्यूएल उपयोगकर्ता की आवश्यकताओं के अनुरूप, जैसे कि दिनांक, बाइनरी, चित्र, आदि।
डेटाटाइप्स का उपयोग क्यों करें?
किसी वेबसाइट एप्लिकेशन के लिए एक साधारण साइन-अप पेज का उदाहरण लें। इसमें तीन इनपुट फ़ील्ड हैं: पहला नाम, अंतिम नाम और संपर्क नंबर।
यहां हमें यह ध्यान रखना चाहिए कि वास्तविक परिस्थितियों में:
- “प्रथम/अंतिम नाम” हमेशा वर्णमाला क्रम में होगा।
- "संपर्क" हमेशा संख्यात्मक होगा।
नीचे दिया गया उदाहरण साइन-अप फॉर्म पर इन फ़ील्ड्स को दर्शाता है।
ऊपर दिए गए चित्र से, "प्रथम/अंतिम नाम" को एक अक्षर के रूप में और "संपर्क" को एक पूर्णांक के रूप में परिभाषित करना तर्कसंगत प्रतीत होता है।
यह स्पष्ट है कि किसी भी एप्लिकेशन में, सभी फ़ील्ड में किसी न किसी प्रकार का डेटा होता है, उदाहरण के लिए संख्यात्मक, वर्णानुक्रमिक, दिनांक, और कई अन्य।
यह भी ध्यान रखें कि विभिन्न डेटा प्रकारों की मेमोरी आवश्यकताएँ अलग-अलग होती हैं। इसलिए, मेमोरी का कुशलतापूर्वक उपयोग करने के लिए कॉलम या वेरिएबल को उस डेटा प्रकार के साथ परिभाषित करना अधिक उपयुक्त है जिसे वह संग्रहीत करेगा।
MS SQL सर्वर में उपलब्ध डेटा प्रकार
यहां एमएस एसक्यूएल सर्वर डेटा प्रकारों की सूची दी गई है। एमएस एसक्यूएल सर्वर निम्नलिखित श्रेणियों के डेटा प्रकारों का समर्थन करता है:
- सटीक संख्यात्मक
- अनुमानित संख्यात्मक
- तिथि और समय
- वर्ण स्ट्रिंग
- यूनिकोड वर्ण स्ट्रिंग
- बाइनरी स्ट्रिंग्स
- अन्य डेटा प्रकार
नीचे दिए गए आरेख में एमएस एसक्यूएल सर्वर डेटा प्रकारों को इन श्रेणियों में समूहित किया गया है।
SQL में सटीक संख्यात्मक डेटा प्रकार
SQL सर्वर में सटीक संख्यात्मक के नौ उप-डेटा प्रकार हैं। प्रत्येक परिभाषित सीमा के भीतर पूर्ण या निश्चित-बिंदु संख्याओं को संग्रहीत करता है।
| डाटा प्रकार | विवरण | निचली सीमा | ऊपरी सीमा | याद |
|---|---|---|---|---|
| bigint | यह दी गई सीमा में पूर्ण संख्याओं को संग्रहीत करता है | −2^63 (−9,223,372,036,854,775,808) | 2^63−1 (9,223,372,036,854,775,807) | 8 बाइट्स |
| int | यह दी गई सीमा में पूर्ण संख्याओं को संग्रहीत करता है | −2^31 (−2,147,483,648) | 2^31−1 (2,147,483,647) | 4 बाइट्स |
| छोटा सा | यह दी गई सीमा में पूर्ण संख्याओं को संग्रहीत करता है | −2^15 (−32,768) | 2^15−1 (32,767) | 2 बाइट्स |
| टिनिंट | यह दी गई सीमा में पूर्ण संख्याओं को संग्रहीत करता है | 0 | 255 | 1 बाइट |
| बिट | यह 0, 1, या NULL मान ले सकता है। | 0 | 1 | 1 बाइट / 8-बिट कॉलम |
| दशमलव | पैमाने और निश्चित परिशुद्धता संख्या के लिए उपयोग किया जाता है | −10^38+1 | 10^38−1 | 5 से 17 बाइट्स |
| सांख्यिक | पैमाने और निश्चित परिशुद्धता संख्या के लिए उपयोग किया जाता है | −10^38+1 | 10^38−1 | 5 से 17 बाइट्स |
| धन | मौद्रिक आंकड़ों के लिए उपयोग किया जाता है | -922,337,203,685,477.5808 | +922,337,203,685,477.5807 | 8 बाइट्स |
| स्मॉलमनी | मौद्रिक आंकड़ों के लिए उपयोग किया जाता है | -214,478.3648 | +214,478.3647 | 4 बाइट्स |
SQL सर्वर में सटीक संख्यात्मक डेटा प्रकारों के उदाहरण:
प्रश्न:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
आउटपुट:
2
सिंटेक्स:
Decimal (P,S)
यहां, P परिशुद्धता है और S पैमाना है।
प्रश्न:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
आउटपुट:
2.31
SQL में अनुमानित संख्यात्मक डेटा प्रकार
SQL की अनुमानित संख्यात्मक श्रेणी में फ्लोटिंग-पॉइंट और वास्तविक मान शामिल हैं। इन डेटा प्रकारों का उपयोग मुख्य रूप से वैज्ञानिक गणनाओं में किया जाता है।
| डाटा प्रकार | विवरण | निचली सीमा | ऊपरी सीमा | याद | शुद्धता |
|---|---|---|---|---|---|
| फ्लोट(एन) | फ़्लोटिंग परिशुद्धता संख्या के लिए उपयोग किया जाता है | −1.79ई+308 | 1.79 + 308 | N के मान पर निर्भर करता है | 15 अंक |
| वास्तविक | फ़्लोटिंग परिशुद्धता संख्या के लिए उपयोग किया जाता है | −3.40ई+38 | 3.40 + 38 | 4 बाइट्स | 7 अंक |
फ्लोट प्रकार के लिए निम्नलिखित सिंटैक्स का उपयोग किया जाता है:
Syntax: FLOAT [(n)]
यहां, n वैज्ञानिक संकेतन में फ्लोट संख्या के मेंटिसा को संग्रहीत करने के लिए उपयोग किए जाने वाले बिट्स की संख्या है। डिफ़ॉल्ट रूप से, n का मान 53 है।
जब आप फ्लोट जैसे डेटा प्रकार को परिभाषित करते हैं, तो n का मान 1 और 53 के बीच होना चाहिए। SQL सर्वर n को दो संभावित मानों में से एक मानता है: यदि 1<=n<=24, तो n को 24 माना जाता है; यदि 25<=n<=53, तो n को 53 माना जाता है।
उदाहरण प्रश्न:
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
आउटपुट:
22.1234
SQL में दिनांक और समय डेटा प्रकार
इस श्रेणी में दिनांक और समय से संबंधित डेटा संग्रहीत होता है।
| डाटा प्रकार | विवरण | भंडारण का आकार | शुद्धता | निचली सीमा | ऊपरी रेंज |
|---|---|---|---|---|---|
| दिनांक समय | 1 जनवरी 1753 से 31 दिसंबर 9999 तक की तारीख और समय निर्दिष्ट करने के लिए उपयोग किया जाता है। इसकी सटीकता 3.33 मिलीसेकंड है। | 8 बाइट्स | .000, .003, .007 की वृद्धि के लिए पूर्णांकित | 1753-01-01 | 9999-12-31 |
| छोटी तिथिसमय | इसका उपयोग 1 जनवरी, 1900 से 6 जून, 2079 तक की तिथि और समय निर्दिष्ट करने के लिए किया जाता है। इसकी सटीकता 1 मिनट है। | 4 बाइट्स, निश्चित | 1 मिनट | 1900-01-01 | 2079-06-06 |
| डेटा | इसका उपयोग केवल 1 जनवरी, 0001 से 31 दिसंबर, 9999 तक की तिथियों को संग्रहीत करने के लिए किया जाता था। | 3 बाइट्स, निश्चित | 1 दिन | 0001-01-01 | 9999-12-31 |
| पहर | इसका उपयोग केवल 100 नैनोसेकंड की सटीकता वाले समय मानों को संग्रहीत करने के लिए किया जाता है। | 5 बाइट्स | 100 नैनोसेकंड | 00:00:00.0000000 | 23:59:59.9999999 |
| दिनांकसमयऑफ़सेट | यह datetime के समान है लेकिन इसमें टाइम ज़ोन ऑफ़सेट होता है। | 10 बाइट्स | 100 नैनोसेकंड | 0001-01-01 | 9999-12-31 |
| डेटाइम २ | 1 जनवरी 0001 से 31 दिसंबर 9999 तक की तिथि और समय निर्दिष्ट करने के लिए उपयोग किया जाता है | 6 बाइट्स | 100 नैनोसेकंड | 0001-01-01 | 9999-12-31 |
उदाहरण प्रश्न:
DECLARE @Datatype_Date DATE = '2030-01-01' PRINT @Datatype_Date
आउटपुट:
'2030-01-01'
SQL में कैरेक्टर स्ट्रिंग्स डेटा प्रकार
यह श्रेणी वर्ण प्रकारों से संबंधित है। यह आपको निश्चित और परिवर्तनीय लंबाई के वर्ण डेटा को परिभाषित करने की अनुमति देती है। इसमें चार प्रकार के डेटा प्रकार हैं। नीचे वर्ण स्ट्रिंग डेटा प्रकार उदाहरणों सहित दिए गए हैं।
| डाटा प्रकार | विवरण | निचली सीमा | ऊपरी सीमा | याद |
|---|---|---|---|---|
| टैंक | यह एक निश्चित चौड़ाई वाली वर्ण स्ट्रिंग है। यह अधिकतम 8,000 वर्ण संग्रहीत करता है। | 0 वर्ण | 8000 वर्ण | एन बाइट्स |
| वर्चर | यह एक कैरेक्टर स्ट्रिंग है जिसकी चौड़ाई परिवर्तनीय है। | 0 वर्ण | 8000 वर्ण | n बाइट्स + 2 बाइट्स |
| वर्चर (अधिकतम) | यह एक चर चौड़ाई वाला वर्ण स्ट्रिंग है। यह अधिकतम 1,073,741,824 वर्ण संग्रहीत करता है। | 0 वर्ण | 2^31 वर्ण | n बाइट्स + 2 बाइट्स |
| टेक्स्ट | यह एक वेरिएबल चौड़ाई वाली कैरेक्टर स्ट्रिंग है। इसमें अधिकतम 2 जीबी टेक्स्ट डेटा स्टोर किया जा सकता है। | 0 वर्ण | 2,147,483,647 वर्ण | n बाइट्स + 4 बाइट्स |
उदाहरण प्रश्न:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype' PRINT @Datatype_Char
आउटपुट:
यह कैरेक्टर डेटाटाइप है
SQL में यूनिकोड वर्ण स्ट्रिंग डेटा प्रकार
इस श्रेणी में यूटीएफ-16 वर्ण एन्कोडिंग का उपयोग करने वाले सभी यूनिकोड वर्ण संग्रहीत होते हैं।
| डाटा प्रकार | विवरण | निचली सीमा | ऊपरी सीमा | याद |
|---|---|---|---|---|
| नचर | यह निश्चित चौड़ाई वाली एक यूनिकोड स्ट्रिंग है। | 0 वर्ण | 4000 वर्ण | 2 बार n बाइट्स |
| एनवर्चर | यह परिवर्तनीय चौड़ाई वाली एक यूनिकोड स्ट्रिंग है। | 0 वर्ण | 4000 वर्ण | 2 बार n बाइट्स + 2 बाइट्स |
| ntext | यह परिवर्तनीय चौड़ाई वाली एक यूनिकोड स्ट्रिंग है। | 0 वर्ण | 1,073,741,823 वर्ण | स्ट्रिंग की लंबाई का 2 गुना |
उदाहरण प्रश्न:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
आउटपुट:
यह nCharacter डेटाटाइप है
SQL में बाइनरी स्ट्रिंग डेटा प्रकार
इस श्रेणी में निश्चित और परिवर्तनीय लंबाई वाली बाइनरी स्ट्रिंग शामिल हैं।
| डाटा प्रकार | विवरण | निचली सीमा | ऊपरी सीमा | याद |
|---|---|---|---|---|
| बाइनरी | यह एक निश्चित चौड़ाई वाली बाइनरी स्ट्रिंग है। इसमें अधिकतम 8,000 बाइट्स डेटा स्टोर किया जा सकता है। | 0 बाइट्स | 8000 बाइट्स | एन बाइट्स |
| वर्बाइनरी | यह परिवर्तनीय चौड़ाई वाली एक बाइनरी स्ट्रिंग है। इसमें अधिकतम 8,000 बाइट्स डेटा स्टोर किया जा सकता है। | 0 बाइट्स | 8000 बाइट्स | दर्ज किए गए डेटा की वास्तविक लंबाई + 2 बाइट्स |
| की छवि | यह परिवर्तनीय चौड़ाई वाली एक बाइनरी स्ट्रिंग है। इसमें अधिकतम 2 जीबी डेटा स्टोर किया जा सकता है। | 0 बाइट्स | 2,147,483,647 बाइट्स | - |
उदाहरण प्रश्न:
DECLARE @Datatype_Binary BINARY(2) = 12; PRINT @Datatype_Binary
आउटपुट:
0x000C
SQL में अन्य डेटाटाइप
ये अन्य SQL सर्वर डेटा प्रकार हैं, जिनका विवरण नीचे दिया गया है:
| डाटा प्रकार | विवरण |
|---|---|
| कर्सर | इसका आउटपुट sp_cursor_list और sp_describe_cursor का एक कॉलम है। यह कर्सर वेरिएबल का नाम लौटाता है। |
| रोववर्जन | यह टेबल की पंक्तियों पर संस्करण-मुहर लगाता है। |
| पदानुक्रम | यह डेटा प्रकार पदानुक्रम में एक स्थिति को दर्शाता है। |
| विशिष्ट पहचानकर्ता | यह एक GUID को संग्रहीत करता है, जिसे अक्सर वर्ण अभिव्यक्ति से परिवर्तित किया जाता है। |
| एसक्यूएल_वेरिएंट | यह SQL सर्वर द्वारा समर्थित डेटा प्रकारों के मानों को संग्रहीत करता है। |
| एक्सएमएल | यह XML डेटा को एक कॉलम में संग्रहीत करता है। |
| स्थानिक ज्यामिति प्रकार | यह डेटा को समतल निर्देशांक प्रणाली में प्रदर्शित करता है। |
| स्थानिक भूगोल प्रकार | यह गोल-पृथ्वी निर्देशांक प्रणाली में डेटा का प्रतिनिधित्व करता है। |
| तालिका | यह बाद में प्रसंस्करण के लिए परिणाम सेट संग्रहीत करता है। |
रोचक तथ्य!
- डेटा पुनर्प्राप्त करते समय CHAR डेटा प्रकार VARCHAR डेटा प्रकार की तुलना में तेज़ होता है, क्योंकि इसकी निश्चित चौड़ाई लंबाई के हिसाब से गणना करने की आवश्यकता को समाप्त कर देती है।ping.


