Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर (T-SQL) में कॉलम का डेटा प्रकार प्राप्त करने के 3 तरीके

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 सर्वर में परिणाम सेट में लौटाए गए कॉलम के डेटा प्रकार का पता लगाएं देखें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. संपूर्ण तालिका पर परिवर्तन डेटा कैप्चर (सीडीसी) को कैसे सक्षम करें या SQL सर्वर में कॉलम की सूची के साथ तालिका में सीडीसी को सक्षम करें

  2. एकाधिक रिकॉर्ड कैसे सम्मिलित करें और पहचान मूल्य कैसे प्राप्त करें?

  3. SQL सर्वर में डेटा फ़ाइलों और लॉग फ़ाइलों के लिए डिफ़ॉल्ट फ़ाइल स्थान कैसे खोजें

  4. SQL सर्वर 2016:sys.dm_exec_function_stats

  5. SQL सर्वर पुनरावर्ती क्वेरी