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

SQL सर्वर में इसकी आईडी से कॉलम का नाम प्राप्त करें:COL_NAME ()

SQL सर्वर में, आप COL_NAME() . का उपयोग कर सकते हैं कॉलम का नाम, उसकी आईडी और उसकी मूल तालिका आईडी के आधार पर वापस करने के लिए कार्य करता है।

यह तालिका को क्वेरी करते समय उपयोगी हो सकता है जो केवल कॉलम आईडी और पैरेंट टेबल की आईडी को संग्रहीत करता है।

COL_NAME() फ़ंक्शन को दो तर्कों की आवश्यकता होती है:तालिका आईडी और कॉलम आईडी।

सिंटैक्स

वाक्य रचना इस प्रकार है:

COL_NAME ( table_id , column_id )

उदाहरण 1 - मूल उपयोग

यह कैसे काम करता है, यह दिखाने के लिए यहां एक बुनियादी उदाहरण दिया गया है।

SELECT COL_NAME(885578193, 1) AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| ArtistId |
+----------+

इस मामले में, मैंने तालिका से कॉलम 1 का नाम 885578193 की आईडी के साथ लौटा दिया।

उदाहरण 2 - टेबल आईडी प्राप्त करें

यदि आप केवल तालिका का नाम जानते हैं, तो आप OBJECT_ID() . का उपयोग कर सकते हैं तालिका नाम के आधार पर अपनी आईडी वापस करने के लिए।

मुझे उपरोक्त तालिका का नाम पता है, इसलिए मैं पिछले उदाहरण को इसमें बदल सकता हूं:

SELECT COL_NAME(OBJECT_ID('dbo.Artists'), 1) AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| ArtistId |
+----------+

यहाँ यह फिर से है, लेकिन तालिका आईडी के साथ शामिल है:

SELECT 
  OBJECT_ID('dbo.Artists') AS [Table ID],
  COL_NAME(OBJECT_ID('dbo.Artists'), 1) AS [Column Name];

परिणाम:

+------------+---------------+
| Table ID   | Column Name   |
|------------+---------------|
| 885578193  | ArtistId      |
+------------+---------------+

उदाहरण 3 - अधिक कॉलम

यहां, मैं आउटपुट में कुछ और कॉलम जोड़ता हूं।

SELECT 
  COL_NAME(OBJECT_ID('dbo.Artists'), 1) AS [Column 1],
  COL_NAME(OBJECT_ID('dbo.Artists'), 2) AS [Column 2],
  COL_NAME(OBJECT_ID('dbo.Artists'), 3) AS [Column 3],
  COL_NAME(OBJECT_ID('dbo.Artists'), 4) AS [Column 4];

परिणाम:

+------------+------------+------------+------------+
| Column 1   | Column 2   | Column 3   | Column 4   |
|------------+------------+------------+------------|
| ArtistId   | ArtistName | ActiveFrom | CountryId  |
+------------+------------+------------+------------+

उदाहरण 4 - निर्भरता की जांच करना

यहां एक उदाहरण दिया गया है जहां मैं COL_NAME() का उपयोग करता हूं sys.sql_expression_dependencies . की जांच करने वाली क्वेरी में निर्भरता जानकारी के लिए सिस्टम दृश्य। यह दृश्य उनके नाम के बजाय कॉलम आईडी देता है, इसलिए मैं COL_NAME() . का उपयोग करता हूं उनके नाम पाने के लिए।

SELECT
    OBJECT_NAME(referencing_id) AS [Referencing Entity],
    referenced_minor_id,
    COL_NAME(referenced_id, referenced_minor_id) AS [Column]
FROM sys.sql_expression_dependencies;

परिणाम:

+----------------------+-----------------------+------------+
| Referencing Entity   | referenced_minor_id   | Column     |
|----------------------+-----------------------+------------|
| uspGetClient         | 0                     | NULL       |
| uspGetClient         | 0                     | NULL       |
| uspGetOrdersByClient | 0                     | NULL       |
| uspGetOrdersByClient | 0                     | NULL       |
| uspGetOrdersByClient | 0                     | NULL       |
| uspGetAlbumsByArtist | 0                     | NULL       |
| chkClientCode        | 1                     | ClientCode |
+----------------------+-----------------------+------------+

उदाहरण 5 - WHERE क्लॉज में

यहां, मैं COL_NAME() . का उपयोग करता हूं WHERE . में काम करता है खंड ताकि एक referenced_minor_id with के साथ पंक्तियाँ का NULL वापस नहीं किया जाता है।

SELECT
    OBJECT_NAME(referencing_id) AS [Referencing Entity],
    referenced_minor_id,
    COL_NAME(referenced_id, referenced_minor_id) AS [Column]
FROM sys.sql_expression_dependencies
WHERE COL_NAME(referenced_id, referenced_minor_id) IS NOT NULL;
IS NOT NULL

परिणाम:

+----------------------+-----------------------+------------+
| Referencing Entity   | referenced_minor_id   | Column     |
|----------------------+-----------------------+------------|
| chkClientCode        | 1                     | ClientCode |
+----------------------+-----------------------+------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SSMS के लिए शॉर्टकट कैसे बनाएं और डिफ़ॉल्ट SQL सर्वर से स्वचालित रूप से कनेक्ट करें - SQ:सर्वर / TSQL ट्यूटोरियल भाग 4

  2. जांचें कि क्या तालिका को OBJECTPROPERTY () के साथ SQL सर्वर में किसी विदेशी कुंजी द्वारा संदर्भित किया गया है

  3. वाईएक्स से एसक्यूएल एक्सप्रेस बूटस्ट्रैपिंग?

  4. SQL सर्वर (T-SQL उदाहरण) में लिंक किए गए सर्वर से कॉलम जानकारी लौटाएं

  5. विजुअल स्टूडियो:ContextSwitchDeadlock