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

SQL सर्वर में कॉलम की लंबाई प्राप्त करने के लिए COL_LENGTH () का उपयोग करें

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 . में एक ही नाम की तालिका और एक विदेशी कुंजी टेबल। यह क्वेरी तीन दृश्यों के साथ-साथ तालिका-मूल्यवान फ़ंक्शन से कॉलम वापस करने के लिए भी होती है।


  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 सर्वर - INSERT के बाद वापसी मूल्य

  2. 5 सफल डीबीए की डेटाबेस निगरानी की आदतें

  3. SQL सर्वर (T-SQL) में दिनांक से माह का नाम प्राप्त करने के 3 तरीके

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

  5. SQL सर्वर एक्सप्रेस की सीमाएं