Vous n'êtes pas identifié(e).
Pages : 1
Bonjour je veux tester un champ il faut qu'il soit imerativement
de la forme genre 12345A1234 ou 12345AA1234
avec
NNNNNCNNNN
ou
NNNNCCNNNN
N= que numerique
C= que caractere
comment fait t'on avec des expressions regullieres avec requete ou autre facon de faire
merci
Hors ligne
j'ai trouve cetet expression \d{5}[A-Z]\d{4}
avec expresso 3.0
maintenant il faut que je le mette en requete
Hors ligne
j'ai mis ca
SELECT regexp_matches(id_parc, '\d{5}[A-Z][A-Z]\d{4}' ) from pci.dep13_parcelle_pci ;
mais ca marche pas
Hors ligne
Salut,
Faut que tu regardes dans la doc, ici :
http://docs.postgresqlfr.org/8.4/functi … ching.html
au paragraphe "expressions rationnelles POSIX".
Je pense que c'est ce que tu cherches.
Hors ligne
Tu veux faire quoi exactement? Sélectionner les lignes d'une table matchant l'expression?
En supposant que c'est cela, il faut utiliser les opérateurs.
Par exemple :
select * from teste where data ~ 'tr.*';
te renvoie toutes les lignes telles que la colonne "data" contient 'tr'.
Tu pourras adapter toi-même en choisissant le bon opérateur si c'est autre chose que tu cherches (lignes ne respectant pas le motif, non-prise en compte de la casse.) C'est dans la doc.
Si cela ne répond pas à ta question, merci de préciser.
Hors ligne
ok mais j'ai
select * from pci.dep13_parcelle_pci where id_parc ~ '(\d{5}[A-Z]{1,2}\d{4}' ;
ATTENTION: utilisation non standard d'un échappement dans une chaîne littérale
LINE 2: ... * from pci.dep13_parcelle_pci where id_parc ~ '(\d{5}[A-...
^
HINT: Utilisez la syntaxe de la chaîne d'échappement pour les échappements,
c'est-à-dire E'\r\n'.
merci
Hors ligne
Et comme ceci :
select * from pci.dep13_parcelle_pci where id_parc ~ E'\\d{5}[A-Z]{1,2}\\d{4}' ;
?
Dernière modification par flo (03/06/2010 16:32:55)
Hors ligne
voila la reponse
select count(*) from pci.dep1 where (id_pa) !~ '([A-Z]{1,2}[0-9]{4})'
avec
CNNNN
ou
CCNNNN
Hors ligne
Pages : 1