SUBSTR |
Sous-chaîne de caractères |
| BigQuery |
Syntaxe
|
SUBSTR(value, position[, length])
|
Paramètres
| Nom |
Description |
| value |
Ce paramètre permet de spécifier la chaîne de caractères (STRING ou BYTES) dont vous souhaitez extraire une sous-chaîne. |
| position |
Ce paramètre permet de définir la position de départ (un entier) de la sous-chaîne à extraire. Les positions sont basées sur 1, ce qui signifie que le premier caractère de la chaîne est à la position 1. Si la position est négative, elle est comptée à partir de la fin de la chaîne (par exemple, -1 est le dernier caractère). |
| length |
Ce paramètre facultatif permet de spécifier la longueur (un entier) de la sous-chaîne à retourner. Si ce paramètre est omis, la fonction retourne la sous-chaîne depuis la position de départ jusqu'à la fin de la value. Si la length est négative, la fonction renvoie une erreur. |
Description
Cette fonction retourne une sous-chaîne de caractères contenus dans une chaîne de caractères.
Remarques
- Extraction ciblée de texte : La fonction SUBSTR est utile pour extraire une portion précise d'une chaîne de caractères. Elle est souvent utilisée pour
récupérer des segments spécifiques comme un code, une date, ou une partie d'un identifiant. Cela permet de manipuler finement le contenu textuel sans altérer la
chaîne d'origine.
- Position basée sur 1 : Contrairement à certains langages de programmation où la première position commence à 0, SUBSTR en BigQuery démarre à 1. Cela
signifie que pour extraire le premier caractère d'une chaîne, il faut spécifier position = 1, ce qui peut nécessiter une adaptation lorsqu'on traduit du code depuis un
autre environnement.
- Support des indices négatifs : Une des particularités puissantes de SUBSTR est la possibilité d'utiliser des indices négatifs. Par exemple,
SUBSTR(value, -1) renverra le dernier caractère de la chaîne. Cette fonctionnalité est pratique pour accéder à la fin d'un texte sans avoir à connaître sa longueur
exacte.
- Longueur facultative mais contrôlée : Le paramètre length est optionnel, ce qui permet de récupérer tout le reste de la chaîne à partir de
la position donnée. Cela rend la fonction plus souple, mais attention : une valeur négative dans ce paramètre entraîne une erreur, ce qui doit être anticipé dans
les scripts automatisés.
- Compatible avec les chaînes de type STRING et BYTES : SUBSTR accepte non seulement les chaînes de caractères classiques (STRING), mais aussi
les données binaires (BYTES). Cela permet d'utiliser la fonction pour manipuler des données codées, comme des encodages ou des fichiers partiels entreposés sous
forme binaire.
- Utilisation dans le nettoyage de données : Dans les projets de transformation de données, SUBSTR est souvent employée pour extraire des sous-champs
mal formatés ou encodés dans une même colonne. Elle facilite ainsi l'uniformisation et la normalisation des données dans les pipelines ETL.
- Peut être combinée à d'autres fonctions de texte : SUBSTR est fréquemment utilisée avec des fonctions comme INSTR,
LENGTH, ou REGEXP_EXTRACT. Par exemple, on peut utiliser INSTR pour localiser un caractère, puis SUBSTR pour
extraire ce qui précède ou suit ce caractère. Cela permet une manipulation avancée du texte.
- Comportement avec des chaînes plus courtes que prévu : Si la valeur de length dépasse la taille réelle de la chaîne à partir de la position
spécifiée, la fonction retourne simplement les caractères disponibles sans erreur. Ce comportement rend SUBSTR plus tolérante, ce qui est pratique pour traiter des
chaînes de longueurs variables.
Dernière mise à jour : Jeudi, le 18 Juin 2020