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

LEN फ़ंक्शन SQL सर्वर में अनुगामी रिक्त स्थान को शामिल नहीं करता है

यह Microsoft द्वारा MSDN में http://msdn.microsoft.com/en-us/library/ms190329(SQL.90).aspx पर स्पष्ट रूप से प्रलेखित है, जो बताता है कि LEN "निर्दिष्ट स्ट्रिंग अभिव्यक्ति के वर्णों की संख्या देता है, सिवाय इसके कि अनुगामी रिक्त स्थान"। हालाँकि, यदि आप सावधान नहीं हैं, तो इसे याद करना एक आसान विवरण है।

आपको इसके बजाय DATALENGTH फ़ंक्शन का उपयोग करने की आवश्यकता है - http://msdn.microsoft.com/en-us/library/ms173486(SQL.90).aspx देखें - जो "किसी भी अभिव्यक्ति का प्रतिनिधित्व करने के लिए उपयोग किए गए बाइट्स की संख्या देता है"।

उदाहरण:

SELECT 
    ID, 
    TestField, 
    LEN(TestField) As LenOfTestField,           -- Does not include trailing spaces
    DATALENGTH(TestField) As DataLengthOfTestField      -- Shows the true length of data, including trailing spaces.
FROM 
    TestTable


  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 सर्वर में डेटा एक्सेस को सक्षम/अक्षम कैसे करें (T-SQL उदाहरण)

  2. टी-एसक्यूएल:मैक्स (अन्य कॉलम) के आधार पर कॉलम का चयन करना

  3. SQL में एकाधिक तालिकाओं में शामिल होना

  4. वेबिनार:SQL सर्वर में क्वेरी प्रगति ट्रैकिंग

  5. SQL सर्वर DELETE - थोड़े उन्नत परिदृश्य वाली तालिका से एक या अधिक पंक्तियों को हटाना