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 :

PostgreSQL Sous-chaรฎne

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 :

PostgreSQL Sous-chaรฎne

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 :

PostgreSQL Sous-chaรฎne

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 :

PostgreSQL Sous-chaรฎne

Nous avons commencรฉ extraction ร  la position 5, et 2 caractรจres ont รฉtรฉ extracTed.

Considรฉrez le tableau Livre ci-dessous :

PostgreSQL Sous-chaรฎne

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 :

PostgreSQL Sous-chaรฎne

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 :

Faire correspondre des sous-chaรฎnes avec une expression rรฉguliรจre SQL

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.

Faire correspondre les sous-chaรฎnes ร  l'aide de pgAdmin

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.

Faire correspondre les sous-chaรฎnes ร  l'aide de pgAdmin

ร‰tape 5) L'exรฉcution de la requรชte est terminรฉe.
Il devrait renvoyer ce qui suit :

Faire correspondre les sous-chaรฎnes ร  l'aide de pgAdmin

Exemple 2:

SELECT substring('Guru99' from 1 for 4);

Il devrait renvoyer ce qui suit :

Faire correspondre les sous-chaรฎnes ร  l'aide de pgAdmin

Voici l'exemple suivant :

SELECT substring('Guru99' from 5);

Il devrait renvoyer ce qui suit :

Faire correspondre les sous-chaรฎnes ร  l'aide de pgAdmin

Exemple 3:

SELECT substring('Guru99' from 5 for 2);

Il devrait renvoyer ce qui suit :

Faire correspondre les sous-chaรฎnes ร  l'aide de pgAdmin

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)

  1. Dans la barre de navigation ร  gauche, cliquez sur Bases de donnรฉes.
  2. Cliquez sur Dรฉmo.

Faire correspondre les sous-chaรฎnes ร  l'aide de pgAdmin

ร‰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.

Faire correspondre les sous-chaรฎnes ร  l'aide de pgAdmin

Il devrait renvoyer ce qui suit :

PostgreSQL Sous-chaรฎne

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.

Faire correspondre des sous-chaรฎnes avec une expression rรฉguliรจre SQL

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.

Faire correspondre des sous-chaรฎnes avec une expression rรฉguliรจre SQL

Il devrait renvoyer ce qui suit :

Faire correspondre des sous-chaรฎnes avec une expression rรฉguliรจre SQL

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

Rรฉsumez cet article avec :