Qu'est-ce que la sous-chaîne PostgreSQL?
La fonction de sous-chaîne PostgreSQL vous aide à extraire et à renvoyer une partie d'une chaîne. Au lieu de renvoyer la chaîne entière, il n'en renvoie qu'une partie.
Dans ce didacticiel PostgreSQL, vous apprendrez:
- Qu'est-ce que Postgresql Substring?
- Syntaxe
- Exemples
- Mise en correspondance des sous-chaînes avec l'expression régulière SQL
- Utilisation de pgAdmin
Syntaxe
La fonction de sous-chaîne PostgreSQL utilise la syntaxe suivante:
substring( string [from starting_position] [for length] )
Paramètres
Nom | Description |
chaîne de caractères | La chaîne source dont le type de données est varchar, char, string, etc. |
position de départ | C'est un paramètre facultatif. Il désigne le lieu où débute l'extraction de la chaîne. Si vous omettez ce paramètre, l'extraction commencera à partir de la position 1, qui est le premier caractère de la chaîne. |
longueur | C'est un paramètre facultatif. Il indique le nombre de caractères à extraire de la chaîne. Si vous omettez ce paramètre, la fonction extrait de la position_début jusqu'à la fin de la chaîne. |
Exemples
Dans cet exemple, nous voulons extraire les 4 premiers caractères du mot Guru99:
SELECT substring('Guru99' for 4);
La commande renverra ce qui suit:
Nous n'avons pas spécifié la position de départ, donc l'extraction de la sous-chaîne commence à la position 1. 4 caractères ont été extraits pour retourner ce qui précède.
L'exemple suivant montre comment spécifier la position de départ:
SELECT substring('Guru99' from 1 for 4);
La commande renverra ce qui suit:
Nous avons précisé que l'extraction de la sous-chaîne devait commencer à partir de la position 1, et 4 caractères devaient être extraits.
Extrayons 99 de la chaîne Guru99:
SELECT substring('Guru99' from 5);
La commande renverra ce qui suit:
Nous avons spécifié la position de départ comme 5. Le nombre de caractères à extraire n'ayant pas été spécifié, l'extraction s'est déroulée jusqu'à la fin de la chaîne.
Voici un autre exemple:
SELECT substring('Guru99' from 5 for 2);
La commande renverra ce qui suit:
Nous avons commencé l'extraction en position 5 et 2 caractères ont été extraits.
Considérez le tableau des livres ci-dessous:
Nous voulons avoir une idée approximative du nom de chaque livre. Cependant, nous ne pouvons extraire que les 15 premiers caractères de la colonne de nom de la table:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
La commande renverra ce qui suit:
Nous avons maintenant une idée approximative du nom de chaque livre.
Mise en correspondance des sous-chaînes avec l'expression régulière SQL
Dans PostgreSQL, nous pouvons extraire une sous-chaîne correspondant à une expression régulière POSIX spécifiée. Dans ce cas, la fonction de sous-chaîne est utilisée avec la syntaxe suivante:
SUBSTRING(string FROM matching_pattern)
ou
SUBSTRING(string, matching_pattern);
Voici une explication des paramètres ci-dessus:
La chaîne est la chaîne source dont le type de données est varchar, char, string, etc.
Le matching_pattern est le modèle à utiliser pour rechercher dans la chaîne.
Exemples:
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
La commande renverra ce qui suit:
Notre chaîne d'entrée est votre âge est 22. Dans le modèle, nous recherchons un modèle numérique dans notre chaîne lorsque cela est trouvé, la fonction de sous-chaîne ne doit extraire que deux caractères.
Utilisation de pgAdmin
Voyons maintenant comment les actions sont effectuées à l'aide de pgAdmin.
Les requêtes ci-dessus où nous n'avons pas besoin d'une base de données peuvent être exécutées directement à partir de la fenêtre de l'éditeur de requête. Faites simplement ce qui suit:
Étape 1) Connectez-vous à votre compte pgAdmin.
Étape 2) Cliquez sur l'icône de l'éditeur de requêtes.
La fenêtre de l'éditeur de requête s'ouvre.
Étape 3) Tapez la requête suivante dans la fenêtre de l'éditeur.
SELECT substring('Guru99' for 4);
Étape 4) Cliquez sur l'icône Exécuter pour exécuter la requête.
Il doit renvoyer ce qui suit:
Exemple 2:
SELECT substring('Guru99' from 1 for 4);
Il doit renvoyer ce qui suit:
Voici l'exemple suivant:
SELECT substring('Guru99' from 5);
Il doit renvoyer ce qui suit:
Exemple 3:
SELECT substring('Guru99' from 5 for 2);
Il doit renvoyer ce qui suit:
Maintenant, exécutons l'exemple en utilisant la table Book de la base de données Demo:
Étape 1) Connectez-vous à votre compte pgAdmin.
Étape 2)
- Dans la barre de navigation sur la gauche, cliquez sur Bases de données.
- Cliquez sur Démo.
Étape 3) Tapez la requête dans l'éditeur de requête:
SELECTid,SUBSTRING(name, 1, 15 ) AS name_initialFROMBookORDER BYid;
Étape 4) Cliquez sur le bouton Exécuter.
Il doit renvoyer ce qui suit:
Nous avons maintenant une idée de base du nom de chaque livre.
Mise en correspondance des sous-chaînes avec l'expression régulière SQL
Pour accomplir la même chose sur pgAdmin, procédez comme suit:
Étape 1) Connectez-vous à votre compte pgAdmin.
Étape 2) Cliquez sur l'icône de l'éditeur de requêtes.
La fenêtre de l'éditeur de requête s'ouvre.
Étape 3) Tapez la requête suivante dans la fenêtre de l'éditeur.
SELECTSUBSTRING ('Your age is 22','([0-9]{1,2})') as age;
Étape 4) Cliquez sur l'icône Exécuter pour exécuter la requête.
Il doit renvoyer ce qui suit:
Résumé:
- La fonction PostgreSQL Substring permet d'extraire et de ne renvoyer qu'une partie d'une chaîne.
- Le premier caractère de la chaîne est à la position 1.
- Si le nombre de caractères à extraire de la chaîne n'est pas spécifié, la fonction extraira les caractères de la position de début spécifiée à la fin de la chaîne.
- Si le nombre de caractères à extraire est spécifié, seul ce nombre de caractères sera extrait.
Téléchargez la base de données utilisée dans ce didacticiel