Bonjour,
j'ai deux combobox qui m'affiche les enregistrements d'une table trié par ordre croissant selon une colonne de type varchar32.
ces deux combobox correspondent à une borne min et max de la colonne trié dans le but de faire une selection sur mes enregistrements.
Ce qui se traduit par la requete sql suivante :
Or le problème c'est que le ORDER BY trie selon un ordre alphanumerique alors que le between compare par code ASCII.
Code : Sélectionner tout - Visualiser dans une fenêtre à part select * from matable where Macol between combox1.text and combox1.text
Ainsi, dans certains cas ma requete ne renvoi rien. Par exemple si mes bornes min et max sont AA et A1 l'ORDER BY tri le AA avant le A1 alors que le Between trouve le A1 < au AA.
la solution serait de positioner le parametre NLS_SORT à BINARY mais je veux que le ORDER BY se fasse toujours sur un tri alphanumerique.
y a t'il un parametre qui permet de modifier le mode de comparaison du between ?
Y a t'il peut être une autre facon de faire mon select ?
Cordialement,
MAZBOUL 2000
Balises code ajoutées par Orafrance, merci d'y penser à l'avenir
Partager