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.
A voir également:
- Requête sql particulière
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Sql (+) - Forum Programmation
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros - Forum calculatrices
3 réponses
regarde du coté de la fonction like
Ta requète serait un truc dans le genre :
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
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
Le % à l'intérieur des crochets ne représente que le caractère %... du moins sous SQL Server.
Xavier
Le % à l'intérieur des crochets ne représente que le caractère %... du moins sous SQL Server.
Xavier
Le % à l'intérieur des crochets ne représente que le caractère %... du moins sous SQL Server.
Xavier
MDR !
Je ne sais pas comment se représente un suit de caractères numériques...
Après recherche, j'ai trouvé ca :
Mais il est vrai que ça a ramé, pour me dire au final que ça avait échoué :p