Créer des sous-chaînes de chaînes dans PostgreSQL

Creer Des Sous Chaines De Chaines Dans Postgresql



Il existe des cas où vous souhaiterez peut-être extraire une section donnée (sous-chaîne) d'une chaîne. Il se peut que vous soyez uniquement intéressé par la section donnée et que vous souhaitiez omettre l'autre section de la chaîne dans votre sortie. Imaginez un cas où vous avez un nom complet tel que « fname lname » comme une seule chaîne et que vous souhaitez uniquement extraire le « fname » dans votre sortie. Pour cela, vous devez utiliser la fonction de sous-chaîne PostgreSQL. Nous avons préparé un guide détaillé à suivre, comprenant des exemples pour vous aider à comprendre comment créer des sous-chaînes de chaînes dans PostgreSQL.

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.