sql >> Database >  >> RDS >> Sqlserver

LEN-functie zonder volgspaties in SQL Server

Dit is duidelijk gedocumenteerd door Microsoft in MSDN op http://msdn.microsoft.com/en-us/library/ms190329(SQL.90).aspx, waarin staat dat LEN "het aantal tekens van de opgegeven tekenreeksuitdrukking retourneert, exclusief achterblijvende spaties". Het is echter een detail dat u gemakkelijk kunt missen als u niet op uw hoede bent.

U moet in plaats daarvan de functie DATALENGTH gebruiken - zie http://msdn.microsoft.com/en-us/library/ms173486(SQL.90).aspx - die "het aantal bytes retourneert dat wordt gebruikt om een ​​uitdrukking weer te geven".

Voorbeeld:

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. Hoe kan ik een SELECT DISTINCT uitvoeren op alle velden behalve een BLOB?

  2. MySQL GREATEST()-functie - Vind het grootste argument in een lijst met argumenten

  3. MySQL LIKE IN()?

  4. Transactielogboekbewaking