BYTE_LENGTH |
Longueur d'octets |
| BigQuery |
Syntaxe
Paramètres
| Nom |
Description |
| value |
Ce paramètre permet de spécifier la chaîne de caractères (STRING) ou la valeur d'octets (BYTES) dont vous souhaitez obtenir la longueur en octets. |
Description
Cette fonction permet de demander la longueur, en octets, de l'expression spécifié.
Remarques
- Fonction utile pour mesurer la taille réelle des données : BYTE_LENGTH retourne le nombre d'octets utilisés par une chaîne ou une valeur binaire. Cela
diffère de la longueur en caractères (LENGTH), car certains caractères - comme les emojis ou lettres accentuées - peuvent occuper plusieurs octets en UTF-8.
- Différence importante entre BYTE_LENGTH et LENGTH : Alors que LENGTH("é") retourne 1 (car c'est un seul caractère), BYTE_LENGTH("é") retourne 2, car
le caractère accentué est codé sur deux octets. Cette distinction est cruciale pour des traitements où la taille mémoire ou le stockage est concerné.
- Supporte les types STRING et BYTES : BYTE_LENGTH peut être utilisée aussi bien sur des chaînes de texte (STRING) que sur des séquences brutes
d'octets (BYTES). Dans le cas d'un type BYTES, la fonction retourne simplement le nombre total d'octets contenus dans la valeur.
- Particulièrement utile pour gérer des limites de taille : Dans des bases de données ou des systèmes de messagerie où les champs ont une taille maximale en
octets, BYTE_LENGTH permet de vérifier que les données respectent les limites. Elle peut servir à valider ou tronquer les contenus avant insertion.
- Indispensable dans des contextes multilingues : Dans des environnements multilingues avec des caractères non-ASCII, BYTE_LENGTH permet d'évaluer la
véritable empreinte binaire des données. Par exemple, un texte en chinois ou en arabe aura une longueur d'octets bien plus élevée qu'un texte de même longueur en
anglais.
- Fonction simple mais critique en performance : BYTE_LENGTH est très rapide et s'utilise souvent dans des requêtes de validation ou d'analyse de taille.
Elle peut faire partie de processus d'optimisation, comme limiter les volumes à envoyer sur un réseau ou détecter les champs excessivement longs.
- Retourne 0 pour les chaînes vides : Lorsqu'on utilise BYTE_LENGTH sur une chaîne vide ('') ou sur une valeur BYTES vide, le résultat est 0. Cela
permet de détecter facilement les champs présents mais sans contenu, ce qui est souvent utile dans des filtres ou des rapports de qualité de données.
- Peut être combinée avec des expressions conditionnelles : La fonction peut être intégrée dans des expressions CASE, IF ou WHERE pour effectuer des
actions conditionnelles en fonction de la taille des données. Par exemple, on peut exclure ou alerter les chaînes dépassant un certain seuil d'octets pour éviter des
erreurs d'insertion ou des surcharges réseau.
Dernière mise à jour : Jeudi, le 18 Juin 2020