PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 07/01/2013 16:26:29

Geo-x
Membre

Extrait du nombre de caractères (d'un caractère spécifique)

Bonjour à tous et tout d'abord très bonne année 2013!

Je me permet de solliciter votre aide, sur les fonctions et opérateurs de chaînes de caractères sur postgres.

Ce que je souhaiterais faire, c'est extraire le nombre de caractères spécifié présent dans une chaîne de caractères.

Par exemple, j'ai une chaîne définit comme suit : frtrfr/ioioioi/zzaazd

Et je souhaiterais connaitre le nombre de : / présents dans cette chaîne.

La fonction me retournerais donc : 2

Je n'arrive pas à toruver mon bonheur dans l'aide postgres : http://docs.postgresql.fr/8.1/functions-string.html alors je me suis dit que vous auriez peut-être la réponse à ma question.

Merci d'avance.

Geo-x

Hors ligne

#2 07/01/2013 18:39:14

rjuju
Administrateur

Re : Extrait du nombre de caractères (d'un caractère spécifique)

Bonjour,

vous pouvez essayer SELECT length(regexp_replace(champ,'[^/]','','g'));

Hors ligne

#3 08/01/2013 10:33:48

Geo-x
Membre

Re : Extrait du nombre de caractères (d'un caractère spécifique)

En effet, ça fonctionne à merveille, merci beaucoup.

En revanche j'ai du mal à comprendre comment la fonction regexp_replace fonctionne.

Hors ligne

#4 08/01/2013 11:05:16

rjuju
Administrateur

Re : Extrait du nombre de caractères (d'un caractère spécifique)

La fonction regexp_replace remplace ici tout ce qui n'est pas un caractère / par '', soit rien du tout. Le g (pour global) permet de remplacer toutes les occurrences et non juste la première.

Hors ligne

#5 08/01/2013 11:45:11

Geo-x
Membre

Re : Extrait du nombre de caractères (d'un caractère spécifique)

Malin ! ;-)

Hors ligne

Pied de page des forums