[SQL] Coupé chaîne dans requête????
GarsDucalvados
-
Jacques -
Jacques -
Bonjour,
j'ai une table dans une base de donnée qui a une clé primaire composé comme suit :
......
95cl2005
96cl2005
97cl2005
98cl2006
99cl2006
100cl2006
101cl2006
102cl2006
......
J'aimerais savoir si à l'aide d'une requete je pourai recupérer le nombre qu'il y a avant :
cl[année] :
*cl2005
*cl2006
Le but de cette requête serait de récupéré le plus grand nombre. Dans mon exemple ce serait le 102cl2006 le plus grand.
Aidez SVP :-) .
Merci d'avance.
j'ai une table dans une base de donnée qui a une clé primaire composé comme suit :
......
95cl2005
96cl2005
97cl2005
98cl2006
99cl2006
100cl2006
101cl2006
102cl2006
......
J'aimerais savoir si à l'aide d'une requete je pourai recupérer le nombre qu'il y a avant :
cl[année] :
*cl2005
*cl2006
Le but de cette requête serait de récupéré le plus grand nombre. Dans mon exemple ce serait le 102cl2006 le plus grand.
Aidez SVP :-) .
Merci d'avance.
A voir également:
- [SQL] Coupé chaîne dans requête????
- Chaine tnt gratuite sur mobile - Guide
- Chaine radio - Télécharger - Médias et Actualité
- Plus de chaine tv - Guide
- Chaine musique bouygues - Accueil - Guide TV et vidéo
- L'équipe live foot chaine - Accueil - TV & Vidéo
4 réponses
Salut, en supposant que tu es sur MySQL.
Essaie de cette façon :
Pas sûr que ça fonctionne, mais à tester :)
Essaie de cette façon :
SELECT MAX(t1.champ) FROM ta_table AS t1 JOIN ta_table AS t2 WHERE t2.champ REGEXP "[[:alnum:]]+"';
Pas sûr que ça fonctionne, mais à tester :)
Salut,
comme je suppose que tu es toujours sous ACCESS, je te donne la requête pour récupérer les chiffres avant "cl" :
comme je suppose que tu es toujours sous ACCESS, je te donne la requête pour récupérer les chiffres avant "cl" :
SELECT left(table1.toto,InStr(Table1.toto,"cl")-1) AS Expr1 FROM Table1;
Bonjour,
Je viens de tester cette variante. Elle fonctionne.
Le principe : Les six derniers caractères sont exclus de la chaine de caractères. Le tri s'exerce donc uniquement sur la valeur numérique qui précède.
SELECT Table1.RéF, Val(Eval(Left([réf],Len([réf])-6))) AS [Critère de tri]
FROM Table1
ORDER BY Val(Eval(Left([réf],Len([réf])-6)));
Cordialement
La science ne fait que trouver ce qui existe depuis toujours.
Hubert REEVES.
Je viens de tester cette variante. Elle fonctionne.
Le principe : Les six derniers caractères sont exclus de la chaine de caractères. Le tri s'exerce donc uniquement sur la valeur numérique qui précède.
SELECT Table1.RéF, Val(Eval(Left([réf],Len([réf])-6))) AS [Critère de tri]
FROM Table1
ORDER BY Val(Eval(Left([réf],Len([réf])-6)));
Cordialement
La science ne fait que trouver ce qui existe depuis toujours.
Hubert REEVES.
Toutes mes excuses, je n'ai pas transmis la requête complète dans mon envoi précédent !
SELECT Max(Val(Eval(Left([réf],Len([réf])-6)))) AS [Critère de tri]
FROM Table1
ORDER BY Max(Val(Eval(Left([réf],Len([réf])-6))));
De la sorte seul le nombre le plus grand est affiché.
Cordialement
La science ne fait que trouver ce qui existe depuis toujours.
Hubert REEVES.
SELECT Max(Val(Eval(Left([réf],Len([réf])-6)))) AS [Critère de tri]
FROM Table1
ORDER BY Max(Val(Eval(Left([réf],Len([réf])-6))));
De la sorte seul le nombre le plus grand est affiché.
Cordialement
La science ne fait que trouver ce qui existe depuis toujours.
Hubert REEVES.