Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/04/2008, 11h34   #1
Invité de passage
 
Inscription : avril 2008
Messages : 16
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 16
Points : 1
Points : 1
Par défaut Signification exacte d'une expression

Bonjour,

dans une clause where de mon select, j'ai l'expression suivante :

AND B0.sexternalid ~ '^[0-9]{8,9}O[A-Za-z0-9]{6}[0-9]+$'


Que cela signifie-t-il exactement?
Que mon champ B0.sexternalid doit être compris entre 0 et 9 ou entre A et Z (en majuscule) ou entre a et z (en miniscule)?
Que veulent alors dire les expression {8,9} et {6}?

Merci bien.
vlo59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 11h38   #2
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 485
Points : 1 485
Si tu commençais par regarder la doc officielle
http://www.postgresql.org/docs/8.2/i...NS-POSIX-TABLE
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne.
La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 12h09   #3
Invité de passage
 
Inscription : avril 2008
Messages : 16
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 16
Points : 1
Points : 1
Merci bien pour la doc.

Je l'ai parcourue.

Si je ne me trompe pas, l'expression :
AND B0.sexternalid ~ '^[0-9]{8,9}O[A-Za-z0-9]{6}[0-9]+$'

pourrait être traduite en :
AND (B0.sexternalid like '6%' or B0.sexternalid like '9O6%')

où % désigne un ou plusieurs chiffres entre 0 et 9.

Maintenant, je me suis peut-être complétement trompé
Merci bien pour la confirmation.
vlo59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 12h10   #4
Invité de passage
 
Inscription : avril 2008
Messages : 16
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 16
Points : 1
Points : 1
Autant pour moi pour les smileys !!

Il faut bien sur comprendre :

AND (B0.sexternalid like '8O6%' or B0.sexternalid like '9O6%')
vlo59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 13h53   #5
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
euh nan, pas exactement;

l'expression réguliere

AND B0.sexternalid ~ '^[0-9]{8,9}O[A-Za-z0-9]{6}[0-9]+$'

correspond à

^ Qui commence par
[0-9]{8,9} un chiffre entre 0 et 9 repeté 8 ou 9 fois --> 00000000 à 999999999
O le caractere O
[A-Za-z0-9]{6} n'importe quel caractere dans [A-Za-z0-9] repete strictement 6 fois --> exemple : ETSQ6P
[0-9]+ une ou plusieur chiffre
$ pour dire qu'il n'y a plus rien derriere


donc les chaines possibles seront par exemple :

12345678OPOIUYT8908098989098
789789787OIOH78J7
789789787OIOH78J7876786575756756756756576576576
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 13h55   #6
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
Avec les likes ca devient vite laborieux et meme des fois franchement impossible a realiser, etudie bien les expressions regulieres, c'est tres puissant, et pas seulement dans le sql, pour tes dev de prog, ca existe dans quasi tous les langages de prog
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2008, 16h50   #7
Invité de passage
 
Inscription : avril 2008
Messages : 16
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 16
Points : 1
Points : 1
Merci beaucoup pour tout.
C'est bien plus clair maintenant.

On s'y remet.
vlo59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h16.


 
 
 
 
Partenaires

Hébergement Web