SQL सर्वर में, आप COL_LENGTH()
. का उपयोग कर सकते हैं कॉलम की लंबाई प्राप्त करने के लिए कार्य करें। अधिक विशेष रूप से, फ़ंक्शन कॉलम की परिभाषित लंबाई को बाइट्स में लौटाता है।
फ़ंक्शन दो तर्क स्वीकार करता है:तालिका का नाम और स्तंभ का नाम।
उदाहरण 1 - मूल उपयोग
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
USE Music; SELECT COL_LENGTH('dbo.Artists', 'ArtistName') AS Result;
परिणाम:
+----------+ | Result | |----------| | 510 | +----------+
उदाहरण 2 - गलत डेटाबेस?
अगर आपको NULL परिणाम मिलता है, तो जांच लें कि आप सही डेटाबेस को क्वेरी कर रहे हैं।
पिछला उदाहरण Music
. नामक डेटाबेस का उपयोग करता है और उस डेटाबेस में उन नामों की एक तालिका और स्तंभ है। यदि डेटाबेस में निर्दिष्ट तालिका/स्तंभ संयोजन नहीं है, तो परिणाम NULL
है ।
अगर मैं गलत डेटाबेस को क्वेरी करता हूं तो यहां क्या होता है:
USE WideWorldImportersDW; SELECT COL_LENGTH('dbo.Artists', 'ArtistName') AS Result;
परिणाम:
+----------+ | Result | |----------| | NULL | +----------+
उदाहरण 3 - कुछ और कॉलम
यहां एक उदाहरण दिया गया है जो एक ही तालिका से अधिक कॉलम लौटाता है।
USE Music; DECLARE @table_name nvarchar(50) = 'dbo.Artists'; SELECT COL_LENGTH(@table_name, 'ArtistId') AS ArtistId, COL_LENGTH(@table_name, 'ArtistName') AS ArtistName, COL_LENGTH(@table_name, 'ActiveFrom') AS ActiveFrom, COL_LENGTH(@table_name, 'CountryId') AS CountryId;
परिणाम:
+------------+--------------+--------------+-------------+ | ArtistId | ArtistName | ActiveFrom | CountryId | |------------+--------------+--------------+-------------| | 4 | 510 | 3 | 4 | +------------+--------------+--------------+-------------+
उदाहरण 4 - sys.columns क्वेरी करना
इस उदाहरण में मैं परिणामों की तुलना max_length
. से करता हूं sys.columns
. का कॉलम सिस्टम दृश्य।
SELECT OBJECT_NAME(object_id) AS [Table Name], name AS [Column Name], max_length, COL_LENGTH(OBJECT_NAME(object_id), name) AS [COL_LENGTH()] FROM sys.columns WHERE name IN ('ArtistId', 'ArtistName', 'ActiveFrom', 'CountryId');
परिणाम:
+-------------------+---------------+--------------+----------------+ | Table Name | Column Name | max_length | COL_LENGTH() | |-------------------+---------------+--------------+----------------| | ufn_AlbumsByGenre | ArtistName | 510 | 510 | | Artists | ArtistId | 4 | 4 | | Artists | ArtistName | 510 | 510 | | Artists | ActiveFrom | 3 | 3 | | Artists | CountryId | 4 | 4 | | Albums | ArtistId | 4 | 4 | | Country | CountryId | 4 | 4 | | RockAlbums | ArtistName | 510 | 510 | | JazzAlbums | ArtistName | 510 | 510 | | BluesAlbums | ArtistName | 510 | 510 | +-------------------+---------------+--------------+----------------+
यहां लौटाए गए कॉलम और उनकी संबंधित लंबाई कई तालिकाओं से हैं। ArtistId
. के मामले में , Artists
. में इस नाम की प्राथमिक कुंजी है Albums
. में एक ही नाम की तालिका और एक विदेशी कुंजी टेबल। यह क्वेरी तीन दृश्यों के साथ-साथ तालिका-मूल्यवान फ़ंक्शन से कॉलम वापस करने के लिए भी होती है।