DATALENGTH (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Cette fonction retourne le nombre d’octets utilisés pour représenter une expression.

Notes

Pour retourner le nombre de caractères dans une expression de chaîne, utilisez la fonction LEN.

Conventions de la syntaxe Transact-SQL

Syntaxe

DATALENGTH ( expression )   

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.

Arguments

expression
Expression de n’importe quel type de données.

Types de retour

bigint si le type de données de expression est nvarchar(max), varbinary(max) ou varchar(max) ; sinon, int.

Remarques

DATALENGTH devient vraiment utile lorsqu’il est utilisé avec des types de données qui peuvent stocker des données de longueur variable, telles que :

  • image
  • ntext
  • nvarchar
  • text
  • varbinary
  • varchar

Pour une valeur NULL, DATALENGTH retourne NULL.

Notes

Les niveaux de compatibilité peuvent affecter les valeurs de retour. Pour plus d’informations sur les niveaux de compatibilité, consultez Niveau de compatibilité ALTER DATABASE (Transact-SQL).

Notes

Utilisez LEN pour retourner le nombre de caractères encodés dans une expression de chaîne donnée et DATALENGTH pour retourner la taille en octets d’une expression de chaîne donnée. Ces sorties peuvent différer selon le type de données et le type d’encodage utilisé dans la colonne. Pour plus d’informations sur les différences de stockage entre les différents types d’encodage, consultez Prise en charge d’Unicode et du classement.

Exemples

Cet exemple recherche la longueur de la colonne Name dans la table Product :

USE AdventureWorks2022  
GO
SELECT length = DATALENGTH(EnglishProductName), EnglishProductName  
FROM dbo.DimProduct  
ORDER BY EnglishProductName;  
GO  

Voir aussi

LEN (Transact-SQL)
CAST et CONVERT (Transact-SQL)
Types de données (Transact-SQL)
Fonctions système (Transact-SQL)