Salut à tous,
je rencontre actuellement un problème :
Sous oracle 11g,
soit la table ma_table triée par id (varchar2) et numérotée dans la colonne nb.
Le premier ID a pour NB 1, le second 2, le troisième 3, le nième n.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 describe ma_table Nom NULL Type ------------------------------ -------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ID VARCHAR2(4000) NB NUMBER 2 rows selected
Si je sélectionne l'id du 9999 enregistrement :
J'obtiens 11369 au lieu de 9999.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 select ID from ma_table where nb ='9999' --retourne BE12345 select count(*) from ma_table where ID <= 'BE12345'
Je précise qu'il n y a pas de doublon au niveau des ID (ni nb).
Quelqu'un peut il m'expliquer pourquoi cela ne fonctionne pas ?
Qu'est ce qui se passe au niveau de la comparaison alphabétique des varchar pur l'ID ?
merci d'avance,
ben![]()
Partager