PostgreSQL Fonction SUBSTRING() avec exemple Regex
Qu’est ce qu' PostgreSQL Sous-chaîne ?
Votre PostgreSQL La fonction de sous-chaîne 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.
Syntaxe
Votre PostgreSQL La fonction sous-chaîne prend la syntaxe suivante :
substring( string [from starting_position] [for length] )
Paramètres
Nom | Description |
---|---|
un magnifique | 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 l'endroit où commencera l'extraction de la chaîne. Si vous omettez ce paramètre, l'extraction démarrera à 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 extraira de Starting_position jusqu'à la fin de la chaîne. |
Exemples
Dans cet exemple, nous souhaitons 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 renvoyer 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 doit commencer à partir de la position 1 et que 4 caractères doivent ê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 à 5. Le nombre de caractères à extraire n'étant pas 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 à la position 5, et 2 caractères ont été extraits.
Considérez le tableau Livre 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 nom du tableau :
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
La commande renverra ce qui suit :
Nous avons maintenant une idée générale du nom de chaque livre.
Faire correspondre des sous-chaînes avec une expression régulière SQL
In PostgreSQL, nous pouvons extraire une sous-chaîne correspondant à une expression régulière POSIX spécifiée. Dans ce cas, la fonction substring est utilisée avec la syntaxe suivante :
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Voici une explication des paramètres ci-dessus :
La chaîne est la chaîne source dont Type de données est varchar, char, chaîne, etc.
Le matching_pattern est le modèle à utiliser pour rechercher dans la chaîne.
Exemples
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
La commande renverra ce qui suit :
Notre chaîne d'entrée indique que votre âge est de 22 ans. Dans le modèle, nous recherchons un modèle numérique dans notre chaîne lorsque celui-ci est trouvé, la fonction de sous-chaîne ne doit extraire que deux caractères.
Comment faire correspondre des sous-chaînes à l'aide de pgAdmin
Voyons maintenant comment les actions sont effectuées à l'aide de pgAdmin.
Les requêtes ci-dessus pour lesquelles 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êtes. Faites simplement ce qui suit :
Étape 1) Connectez-vous à votre compte.
Connectez-vous à votre compte pgAdmin.
Étape 2) Sur pgAdmin,
Cliquez sur l'icône de l'éditeur de requêtes.
La fenêtre de l'éditeur de requêtes s'ouvrira.
Étape 3) Tapez la requête.
Tapez la requête suivante dans la fenêtre de l'éditeur.
SELECT substring('Guru99' for 4);
Étape 4) Exécuter l'ordre
Cliquez sur l'icône Exécuter pour exécuter la requête.
Étape 5) L'exécution de la requête est terminée.
Il devrait renvoyer ce qui suit :
2 Exemple:
SELECT substring('Guru99' from 1 for 4);
Il devrait renvoyer ce qui suit :
Voici l'exemple suivant :
SELECT substring('Guru99' from 5);
Il devrait renvoyer ce qui suit :
3 Exemple:
SELECT substring('Guru99' from 5 for 2);
Il devrait 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 à gauche, cliquez sur Bases de données.
- Cliquez sur Démo.
Étape 3) Tapez la requête dans l'éditeur de requêtes :
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Étape 4) Cliquez sur le bouton Exécuter.
Il devrait renvoyer ce qui suit :
Nous avons maintenant une idée de base du nom de chaque livre.
Faire correspondre des sous-chaînes avec une 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êtes s'ouvrira.
Étape 3) Tapez la requête suivante dans la fenêtre de l'éditeur.
SELECT SUBSTRING ( '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 devrait renvoyer ce qui suit :
Résumé
- Votre PostgreSQL La fonction Substring permet d’extraire et de renvoyer seulement une partie d’une chaîne.
- Le premier caractère de la chaîne est en 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 jusqu'à 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 tutoriel