PostgreSQL Fonction SUBSTRING() avec exemple Regex
Qu'est-ce que le PostgreSQL Sous-chaรฎne ?
Le PostgreSQL La fonction substring vous aide ร extrairetracLa fonction `t` renvoie une partie d'une chaรฎne de caractรจres. Au lieu de renvoyer la chaรฎne entiรจre, elle n'en renvoie qu'une portion.
Syntaxe
Le PostgreSQL La fonction sous-chaรฎne prend la syntaxe suivante :
substring( string [from starting_position] [for length] )
Paramรจtres
| Nom | Description |
|---|---|
| string | La chaรฎne source dont le type de donnรฉes est varchar, char, string, etc. |
| position de dรฉpart | Il s'agit d'un paramรจtre optionnel. Il indique l'endroit oรน l'extracLa chaรฎne commencera. Si vous omettez ce paramรจtre, l'exempletracLa fonction tion commencera ร partir de la position 1, qui est le premier caractรจre de la chaรฎne. |
| longueur | Il s'agit d'un paramรจtre optionnel. Il indique le nombre de caractรจres ร afficher.tracextrait de la chaรฎne. Si vous omettez ce paramรจtre, la fonction s'arrรชtera.tract de la position de dรฉpart ร la fin de la chaรฎne. |
Exemples
Dans cet exemple, nous voulons extract les 4 premiers caractรจres du mot Guru99:
SELECT substring('Guru99' for 4);
La commande renverra ce qui suit :
Nous n'avons pas prรฉcisรฉ la position de dรฉpart, donc l'extracLa sous-chaรฎne commence ร la position 1. 4 caractรจres ont รฉtรฉ extraits.tracted 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'extracLa partie de la sous-chaรฎne doit commencer ร la position 1 et 4 caractรจres doivent รชtre extracTed.
Extract 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 รฉtant 5. รtant donnรฉ le nombre de caractรจres ร exprimertracted n'a pas รฉtรฉ prรฉcisรฉ, l'extraction s'est propagรฉe jusqu'au bout de la chaรฎne.
Voici un autre exemple:
SELECT substring('Guru99' from 5 for 2);
La commande renverra ce qui suit :
Nous avons commencรฉ extraction ร la position 5, et 2 caractรจres ont รฉtรฉ extracTed.
Considรฉrez le tableau Livre ci-dessous :
Nous souhaitons avoir une idรฉe approximative du titre de chaque livre. Cependant, nous pouvons extracne conservez 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 extracLa fonction `substring` recherche une sous-chaรฎne correspondant ร une expression rรฉguliรจre POSIX spรฉcifiรฉe. Dans ce cas, elle 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 est ยซ Votre รขge est 22 ยป. Dans le modรจle, nous recherchons un motif numรฉrique dans notre chaรฎne. Lorsqu'il est trouvรฉ, la fonction de sous-chaรฎne doit extraire uniquement les รฉlรฉments suivants :tracdeux 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 :
Exemple 2:
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 :
Exemple 3:
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รฉ
- Le PostgreSQL La fonction Substring est utile dans les exemples.tracting et ne renvoyant qu'une partie d'une chaรฎne.
- Le premier caractรจre de la chaรฎne est en position 1.
- Si le nombre de caractรจres ร exprimertracSi la chaรฎne de caractรจres n'est pas spรฉcifiรฉe, la fonction s'arrรชtera.tract caractรจres de la position de dรฉpart spรฉcifiรฉe jusqu'ร la fin de la chaรฎne.
- Si le nombre de caractรจres ร exprimertracSi le nombre de caractรจres est spรฉcifiรฉ, seul ce nombre sera affichรฉ.tracTed.
Tรฉlรฉchargez la base de donnรฉes utilisรฉe dans ce tutoriel



















