Bonjour,

J'ai une table 'Affaires' qui contient un champ 'afg_num' Varchar(5). Ce champ est en alpha-numérique et sert de clé candidate pour cette table. Je désire sortir des statistiques sur une fouchette d'affaires de "XDA30" à "XDP40" et je me retrouve avec 4 affaires au lieu de 3.

J'utilise NLS_LAN = franch_france.WEISO8859P1

Si j'exécute la commande suivante qui affiche le choix des affaires à l'utilisateur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT afg_num FROM mafaafg ORDER BY  1;
j'obtiens le résultat suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
AFG_NUM
--------
XDAC3
XDAC4
XDA30
XDPE4
XDP40
XDRA1
XDRA2
 
7 ligne(s) sélectionnée(s).
Par contre, si je rajoute une fouchette d'affaire avec la commande suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SELECT afg_num FROM mafaafg WHERE afg_num BETWEEN 'XDA30' AND 'XDP40' ORDER BY 1;
j'obtiens le résultat suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
AFG_NUM
--------
XDAC3
XDAC4
XDA30
XDP40
 
4 ligne(s) sélectionnée(s).
Il semble que le "poids" des numériques ne soit pas le même dans un ORDER BY et un BETWEEN ?

Merci pour votre aide.
[Balises code ajoutées par Helyos]