Requête sql particulière
guadoc
Messages postés
89
Statut
Membre
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,
Je possède une table "personne" avec les champs suivants:Nom ,Matricule
J'aimerais faire une sélection SQl sur cette table avec le critères suivants: je ne sélectionne que les noms dont le matricule commence par 'N' et est suivis que des chiffres.
Si quelqu'un a une idée du code de la requête SQL?
Je ne sais pas si cela est possible en SQL. Ma base est sous access alors s'il existe une autre solution sous access pour faire cette sélection je suis preneur.
Merci d'avance pour vos contributions.
Je possède une table "personne" avec les champs suivants:Nom ,Matricule
J'aimerais faire une sélection SQl sur cette table avec le critères suivants: je ne sélectionne que les noms dont le matricule commence par 'N' et est suivis que des chiffres.
Si quelqu'un a une idée du code de la requête SQL?
Je ne sais pas si cela est possible en SQL. Ma base est sous access alors s'il existe une autre solution sous access pour faire cette sélection je suis preneur.
Merci d'avance pour vos contributions.
3 réponses
-
regarde du coté de la fonction like
Ta requète serait un truc dans le genre :select * from personne Matricule like ' [Nn][0-9%]'
-
Bonjour,
Honnêtement, je n'ai pas trouvé de façon de dire "qui ne contient que des chiffres après une lettre". Sauf si tu sais par avance combien de chiffre il y a.
Par exemple, s'il y a forcément 8 chiffres, tu peux écrire :
select * from personne where matricule like 'N[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' ;
Par contre, on peut facilement dire "qui contient N puis de contient aucune lettre" :
select * from personne where matricule like 'N[0-9]%' AND NOT LIKE 'N%[a-zA-Z]%'
Si il y a des accents ou des caractères spéciaux, il faut les rajouter entre les crochets.
Le [0-9] dans la première clause avant le AND permet de filtrer plus de lignes pour accélérer la requête sur la ligne suivante, qui peut être longue...
Xavier -
bonjour,
pour ton problème tu peux utiliser la requête suivante :
------> select * from personne where matricule like 'N%' ;