Accéder au contenu principal
Documents
Gestion des tableaux et des schémasSyntaxe de baseDéclencheursBases de donnéesFonctions de la dateFonctions des chaînes de caractèresFonctions mathématiquesFonctions JSONIndexes

PostgreSQL SUBSTRING

La fonction PostgreSQL SUBSTRING est utilisée pour extraire une partie d'une chaîne de caractères en fonction d'indices spécifiés. Cette fonction est essentielle pour la manipulation des chaînes de caractères et l'analyse des données au sein d'une base de données.

Utilisation

La fonction SUBSTRING est utilisée lorsque vous devez extraire des parties d'une chaîne, par exemple pour récupérer une partie d'un champ de texte ou analyser des formats de données spécifiques. Il est souvent utilisé dans les tâches de transformation et de préparation des données.

SUBSTRING(string FROM start [FOR length])

Dans cette syntaxe, string est la chaîne source, start indique la position de départ et length le nombre de caractères à extraire. Si length est omis, la sous-chaîne s'étend jusqu'à la fin de la chaîne.

Exemples

1. Extraction de sous-chaînes de base

SELECT SUBSTRING('PostgreSQL Tutorial' FROM 1 FOR 10);

Cet exemple extrait les 10 premiers caractères de la chaîne, ce qui donne : 'PostgreSQL'.

2. Sous-chaîne sans longueur spécifiée

SELECT SUBSTRING('Database Management' FROM 10);

Ici, la sous-chaîne commence au 10e caractère et se poursuit jusqu'à la fin, ce qui donne : 'Management'.

3. Sous-chaîne avec correspondance de motifs

SELECT SUBSTRING('abc123def456' FROM '[0-9]+');

Cet exemple utilise une expression régulière pour extraire la première séquence de chiffres de la chaîne, ce qui donne : '123'.

4. Cas limite : Le début dépasse la longueur de la chaîne

SELECT SUBSTRING('Short' FROM 10 FOR 5);

Lorsque la position start dépasse la longueur de la chaîne, le résultat est une chaîne vide : ''.

5. Cas limite : Indices négatifs

SELECT SUBSTRING('Negative Test' FROM -5);

L'utilisation d'indices négatifs entraînera une erreur, car start doit être un nombre entier positif.

Conseils et bonnes pratiques

  • Soyez attentifs aux indices. PostgreSQL utilise une indexation basée sur 1, ce qui signifie que le comptage commence à partir de 1, et non de 0.
  • Utilisez des expressions régulières. Pour des tâches d'extraction de chaînes plus complexes, utilisez des motifs regex afin de faire correspondre des motifs spécifiques.
  • Combinez avec d'autres fonctions. Utilisez SUBSTRING avec d'autres fonctions de chaînes de caractères comme TRIM ou LENGTH pour une manipulation plus robuste des chaînes de caractères.
  • Évitez les extractions inutiles. Assurez-vous que les paramètres start et length sont exacts afin d'éviter les erreurs ou les résultats inattendus.
  • Considérations relatives à la performance. Soyez prudent lorsque vous utilisez SUBSTRING dans des requêtes traitant de grands ensembles de données, car cela peut avoir un impact sur les performances.
  • Fonctions connexes. Pensez à utiliser LEFT ou RIGHT lorsque vous devez extraire un nombre fixe de caractères du début ou de la fin d'une chaîne, respectivement.