[Oracle 10] Bizzareté requête avec order by ??
Bonjour
en commencant le "portage" de nos appli pour compatibilité oracle, je me suis appercu d'une choses bizzare (pour moi)
La table TEST :
NUMERO Char 10
NUMERO_LIGNE Number 3,0
avec PK sur les deux champs
Les données :
- -1, 1
-2, 1
-3, 1
-4, 1
-7, 1
456, 1
511, 1
600, 1
et si je fais :
Code:
1 2 3 4
|
select * from test
where numero<='511'
order by numero |
j'obtient :
-1, 1
-2, 1
-3, 1
-4, 1
456, 1
511, 1
-7, 1[/list]
Re: [Oracle 10] Bizzareté requête avec order by ??
Code:
1 2 3 4
|
select * from test
where numero<='511'
order by numero |
La conversion implicite du CHAR en NUMBER ne fonctionne pas dans ce cas.
essaie:
Code:
1 2 3 4
|
select * from test
where to_number(numero)<=511
order by numero |
Re: [Oracle 10] Bizzareté requête avec order by ??
Citation:
Envoyé par thomasjcj
La conversion implicite du CHAR en NUMBER ne fonctionne pas dans ce cas.
essaie:
Ben justement je ne veux pas qu'il fasse la conversion.
Nos client on le choix entre compteur automatique et saisie manuelle, donc il peut y avoir des lettres.
De plus lors des "bascules", les anciennes commandes (de l'ancien système) sont entrées généralement avec un '-' devant, pour que justement elle se retrouve en fin de liste (ORDER BY .. DESC)
Ce qui est bizarre c'est que le serveur ne tient pas compte du caractère '-' pour faire sont tri ascii