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 | +----------------------+-----------------------+------------+