Question

Quelle est la différence entre len() et datalength() dans SQL Server 2005 ?

Était-ce utile?

La solution

DataLen retourne le nombre d'octets qui sont utilisés pour stocker la valeur:

http://msdn.microsoft.com/en -us / bibliothèque / ms173486 (SQL.90) .aspx

LEN renvoie le nombre de caractères dans une chaîne. Depuis une chaîne peut utiliser des caractères simples ou à double octet, ce qui diffère de DATALENGTH en ce que vous obtiendrez toujours 1, peu importe combien de temps un seul caractère est:

http://msdn.microsoft.com/en-us/library/ ms190329.aspx

Autres conseils

DATALENGTH renvoie la longueur de la chaîne en octets, y compris les espaces de fin. LEN renvoie la longueur en caractères, à l'exclusion des espaces de fin. Par exemple,

SELECT   LEN ( 'chaîne'),   LEN ( 'chaîne'),   DATALENGTH ( 'chaîne'),   DATALENGTH ( 'chaîne'),   LEN (N'string '),   LEN (N'string « ),   DATALENGTH (N'string '),   DATALENGTH (N'string « )

retournera 6, 6, 6, 9, 6, 6, 12, 18

Le Len () taillera (supprimer les espaces de fin) à partir des données.

La fonction DataLength () ne

Exemples: Sélectionnez Len ( 'Test') - ce sera de retour 4

Sélectionnez DATALENGTH ( 'Test') - ce sera de retour 5

AILLEURS (agrégé d'autres réponses fantastiques et utiles):

DATALENGTH renvoie la longueur de la chaîne en octets, y compris les espaces de fin http://msdn.microsoft.com/en-us /library/ms173486(SQL.90).aspx

LEN renvoie la longueur en PERSONNAGES, à l'exclusion des espaces de suivi http://msdn.microsoft.com/en-us/library/ms190329. aspx

Étant donné que les chaînes peuvent consister en un ou 2 octets (Unicode), les résultats de l'utilisation soit varie en fonction à la fois du type de données de la chaîne et s'il y a des espaces de fin dans la chaîne

Par exemple,

SELECT     LEN ( 'chaîne'),     LEN ( 'chaîne'),     DATALENGTH ( 'chaîne'),     DATALENGTH ( 'chaîne'),     LEN (N'string '),     LEN (N'string « ),     DATALENGTH (N'string '),     DATALENGTH (N'string « )

Retournera 6, 6, 6, 7, 6, 6, 12, 14

En ce qui concerne les chaînes, datalength() renvoie le nombre d'octets et len() renvoie une valeur entière pour le nombre de caractères.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top