Il y a deux fonctions:
- DATALENGTH renvoie la taille des données (octets)
- LEN renvoie la taille des données (caractères).
Pour une colonne varbinary(max)
, vous devez utiliser DATALENGTH
:
SELECT DATALENGTH(column) FROM Table;
Les deux fonctions renvoient la valeur logique des données, qui est après tous les algorithmes de compression ont été appliqués et la colonne est complètement non compressé . Le nombre réel d'octets occupés sur disque ne peut pas être déterminé, car il est influencé par les différentes options de stockage, notamment par les options de compression (row compression, page compression, unicode compression) et par le paramètre large value types out of row
pour la table.
Voir la même question http://stackoverflow.com/questions/507785/size-of-varbinary-field-in-sql-server-2005 –
Exemple avec lien dans ma réponse ici: http://stackoverflow.com/questions/3793022/comment-venir-à-limites-de-8060-octets-par-ligne-et-8000-par-varchar-nvarchar-valeur/3793265 # 3793265 – gbn
merci pour les liens. Je cherchais évidemment les mauvais mots-clés. juste besoin d'un vote de plus pour fermer la question. – yamspog