Recherche sur un code postal avec SUBSTRING - SQL/NoSQL - Programmation
Marsh Posté le 15-10-2004 à 14:32:56
Tu tries des chaînes de caratères, pas des numériques, donc l'ordre lexicographique n'est pas le même.
A priori en tout cas.
Marsh Posté le 15-10-2004 à 14:57:23
Exact faut convertir ton SUBSTRING(CODEPOSTAL, 0, 2)
en numérique depend de ton SGBD ...
... Order by num(SUBSTRING(CODEPOSTAL, 0, 2)) ...
Marsh Posté le 15-10-2004 à 19:10:10
ah oui... c'est vrau que mon truc est pas logique!
j'ai essayé num() mais ça n'a pas l'air de passer.
Je l'utilise en MySQL avec PHP
Marsh Posté le 15-10-2004 à 19:16:50
mais ce que je comprend pas, c'est que même en considérant les codes postaux comme des chaines, l'ordre lexicographique devrait marcher? Par ex., 59 est après 21 et apparement ça marche po...
Marsh Posté le 16-10-2004 à 17:24:40
Pour me répondre, il faut faire SUBSTRING(CODEPOSTAL, 1, 2) et non pas SUBSTRING(CODEPOSTAL, 0, 2)
c'était tout!
Marsh Posté le 16-10-2004 à 20:15:25
t'avais pas fait afficher le résultat du SUBSTRING pour vérifier ?
Marsh Posté le 16-10-2004 à 21:05:49
Beegee a écrit : t'avais pas fait afficher le résultat du SUBSTRING pour vérifier ? |
si si, c'est comme ça que je m'en suis aperçu
Marsh Posté le 18-10-2004 à 12:08:49
Vérifie que les gens qui s'enregistrent dans l'AIN mettent bien 01000 dans la base, parceque sinon ton truc marchera pas...
Fait plutôt un :
ORDER BY ROUND(TO_NUMBER(CODEPOSTAL) / 1000, 0)
Marsh Posté le 15-10-2004 à 14:12:52
Salut à tous!
Je cherche à trier les résultat d'une requête sur une table contenant les champs CODEPOSTAL et VILLE
Je voudrais trier ces résultat par département puis par ville.
J'ai donc essayé ça :
Mais un tri assez bizare le début semble correct puis par la suite, j'ai des code postaux qui s'insèrent pas à leur place... bref ma requête n'a pas l'air valide!
Jme suis planté où?
Message édité par toutoune le 15-10-2004 à 14:16:28