SSMS या Azure डेटा स्टूडियो जैसे GUI किसी स्तंभ के डेटा प्रकार को देखना आसान बनाते हैं। आमतौर पर यह ऑब्जेक्ट एक्सप्लोरर में कॉलम पर नेविगेट करने का एक साधारण मामला है और आप कॉलम के ठीक बगल में डेटा प्रकार देख सकते हैं।
लेकिन अगर आप टी-एसक्यूएल का उपयोग कर रहे हैं, तो आपको एक क्वेरी चलाने की आवश्यकता होगी।
information_schema.columns
देखें
information_schema.columns
यदि आप केवल डेटा प्रकार चाहते हैं और अधिक नहीं तो व्यू एक अच्छा विकल्प है:
SELECT
COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH AS MAX_LENGTH,
CHARACTER_OCTET_LENGTH AS OCTET_LENGTH
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Products'
AND COLUMN_NAME = 'ProductName';
नमूना परिणाम:
+---------------+-------------+--------------+----------------+ | COLUMN_NAME | DATA_TYPE | MAX_LENGTH | OCTET_LENGTH | |---------------+-------------+--------------+----------------| | ProductName | varchar | 255 | 255 | +---------------+-------------+--------------+----------------+
Products
बदलें और ProductName
क्रमशः आपकी तालिका और स्तंभ के नाम के साथ।
ठीक है, मैंने यहां केवल डेटा प्रकार से थोड़ा अधिक लौटाया है। लेकिन यदि आवश्यक हो तो आप अन्य स्तंभों को छोड़ सकते हैं। या आप और जोड़ सकते हैं। उदाहरण के लिए, ऐसे कॉलम हैं जिनमें कॉलम की सटीकता होती है यदि आप एक संख्यात्मक या डेटाटाइम कॉलम देख रहे हैं।
आप सभी कॉलम इस तरह वापस कर सकते हैं:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Products'
AND COLUMN_NAME = 'ProductName';
sys.columns
देखें
sys.columns
दृश्य एक और विकल्प है। हम इसे sys.tables
. के साथ जोड़ सकते हैं विशिष्ट तालिका से विशिष्ट कॉलम प्राप्त करने के लिए देखें:
SELECT
c.name,
type_name(c.system_type_id) AS system_type,
type_name(c.user_type_id) AS user_type,
c.max_length,
c.precision,
c.scale
FROM sys.tables t
JOIN sys.columns c ON t.object_id = c.object_id
WHERE t.name = 'Products'
AND c.name = 'ProductName';
नमूना परिणाम:
+-------------+---------------+-------------+--------------+-------------+---------+ | name | system_type | user_type | max_length | precision | scale | |-------------+---------------+-------------+--------------+-------------+---------| | ProductName | varchar | varchar | 255 | 0 | 0 | +-------------+---------------+-------------+--------------+-------------+---------+
दोबारा, आवश्यकतानुसार कम या ज्यादा कॉलम शामिल करें।
इस उदाहरण में, मैंने TYPE_NAME()
. का उपयोग किया है इसकी आईडी के आधार पर डेटा प्रकार का नाम वापस करने के लिए कार्य करता है। इसने मुझे sys.types
. में शामिल होने से बचाया टेबल।
sp_help
संग्रहित प्रक्रिया
sp_help
यदि आप तालिका के बारे में अधिक जानकारी वापस करना चाहते हैं तो संग्रहीत कार्यविधि उपयोगी हो सकती है।
यह संग्रहीत कार्यविधि डेटाबेस ऑब्जेक्ट के बारे में जानकारी लौटाती है (sys.sysobjects
. में सूचीबद्ध कोई भी ऑब्जेक्ट) संगतता दृश्य), एक उपयोगकर्ता-परिभाषित डेटा प्रकार, या एक डेटा प्रकार:
EXEC sp_help Products;
यह बहुत अधिक आउटपुट देता है, इसलिए मैं इसे यहां सूचीबद्ध नहीं करूंगा।
बस Products
को बदलें तालिका या अन्य वस्तु के नाम के साथ जिसके बारे में आप जानकारी प्राप्त करना चाहते हैं।
किसी क्वेरी से कॉलम का डेटा प्रकार प्राप्त करें
आप किसी क्वेरी द्वारा लौटाए गए कॉलम का डेटा प्रकार भी प्राप्त कर सकते हैं।
अधिक जानकारी और उदाहरणों के लिए SQL सर्वर में परिणाम सेट में लौटाए गए कॉलम के डेटा प्रकार का पता लगाएं देखें।