Exemples sur la façon de créer des sous-chaînes de chaînes dans PostgreSQL
La première chose que nous devons vérifier est la syntaxe.
SUBSTRING( chaîne/nom_colonne, position_début, longueur)Dans la syntaxe donnée, vous pouvez spécifier la chaîne avec laquelle vous souhaitez créer une sous-chaîne ou spécifier la colonne de votre table. Ensuite, vous devez spécifier la position dans la chaîne à partir de laquelle vous souhaitez que la sous-chaîne commence. Enfin, spécifiez la longueur de la sous-chaîne ou la position de fin de la chaîne. Prenons quelques exemples pour le voir en action.
Exemple 1 : spécifiez la longueur de la sous-chaîne
Lorsque vous avez votre chaîne cible, vous pouvez définir la longueur de la sous-chaîne. Par exemple, si votre chaîne est « Linuxhint » et que vous souhaitez créer votre sous-chaîne sous « Linux », exécutez la commande suivante :
SELECT SUBSTRING('Linuxhint' FROM 1 FOR 5) AS nom d'utilisateur ;
Nous utilisons le mot-clé FROM pour spécifier notre position de départ et le mot-clé FOR pour spécifier la longueur de la sous-chaîne. Le « nom d'utilisateur » est le nom que nous donnons à notre sortie.
Nous obtenons le résultat suivant en exécutant la commande. Remarquez comment nous avons obtenu la sous-chaîne souhaitée en sortie :
Supposons que vous souhaitiez créer la sous-chaîne à partir d’une position de départ différente dans votre chaîne. Par exemple, si vous voulez « indice » comme sous-chaîne, vous modifiez simplement la position de départ et la longueur.
Pour cela, nous exécutons notre commande comme suit :
Exemple 2 : spécifier la position de la sous-chaîne
Parfois, vous pouvez avoir votre chaîne mais vous ne connaissez pas la longueur exacte de la sous-chaîne. Cependant, vous pouvez spécifier à quelle position commencer la création de la sous-chaîne. La sortie affiche toutes les sections de chaîne depuis la position spécifiée jusqu'à la fin.
Pour cet exemple, notre chaîne est « Hello Linuxhint ». Pour obtenir « Linuxhint » comme sous-chaîne sans spécifier sa position, il suffit de spécifier à quelle position nous voulons créer la sous-chaîne. Pour ce cas, on part DE la position 6. Ainsi, notre commande est la suivante :
SELECT SUBSTRING('Bonjour Linuxhint' FROM 6) AS nom d'utilisateur ;
Exemple 3 : spécifier les positions de début et de fin
Étant donné une chaîne, vous pouvez créer une sous-chaîne en spécifiant les positions de début et de fin. De cette façon, même si la longueur de la chaîne est plus longue que la sous-chaîne souhaitée, elle sera uniquement créée en fonction des positions de début et de fin spécifiées.
En utilisant « Hello Linuxhint » comme chaîne, nous pouvons créer notre sous-chaîne sous « Hello Linux » et omettre les autres sections en spécifiant les positions de début et de fin comme suit :
SELECT SUBSTRING('Bonjour Linuxhint', 1, 11) AS nom d'utilisateur ;Aucun mot-clé n'est requis dans ce cas, uniquement les positions de début et de fin.
Exemple 4 : Travailler avec une table PostgreSQL
Il est également possible de créer une sous-chaîne basée sur les valeurs que vous sélectionnez dans une colonne donnée de votre tableau. Pour notre exemple, nous utilisons la table « clients ».
Disons que nous ciblons la colonne « cust_email » et que nous souhaitons créer une sous-chaîne en spécifiant la longueur. Nous aurions notre commande comme suit :
Notez comment, pour chaque valeur de la colonne, la sortie est une sous-chaîne de longueur 3 de la chaîne d'origine.
Mettons à jour la table avec un nom complet dans notre colonne de nom. Notre nouveau tableau se présente comme suit :
Maintenant, si nous voulons extraire uniquement la première section de la colonne nom, qui est le prénom de chacun de nos clients, créer une sous-chaîne pour la colonne nom fera l'affaire. Ici, il faut préciser la position de départ. Pour la longueur de la sous-chaîne, nous la définissons comme étant la position dans chaque chaîne où il y a un espace.
L'espace marque la séparation entre le prénom et le nom. Ainsi, notre commande vérifie la position où commence l'espace dans la chaîne. Ensuite, sélectionnez la sous-chaîne depuis la première position jusqu'à l'endroit où elle rencontre l'espace.
Nous exécutons notre commande comme suit :
SELECT order_id, SUBSTRING(name FROM 1 FOR POSITION( ‘ ‘ IN name) – 1) AS client_fname FROM clients ;Nous sélectionnons le « order_id » et la sous-chaîne, et notre sortie apparaît comme suit :
C'est ainsi que vous pouvez créer des sous-chaînes à partir de chaînes dans une table PostgreSQL.
Conclusion
PostgreSQL propose la fonction de sous-chaîne qui permet aux utilisateurs de créer une sous-chaîne en utilisant différents critères. En fonction de votre objectif, vous pouvez spécifier la longueur de la sous-chaîne ou les positions de début et de fin. Les exemples abordés dans cet article vous aideront à vous familiariser avec la création de sous-chaînes dans PostgreSQL. Continuez à vous entraîner pour comprendre le concept.