8791 sujets

Développement web côté serveur, CMS

Bonjour;
J'ai une table listant des villes avec plusieurs infos les concernant dont leur code postal.
Je cherche à faire un SELECT sur cette table pour extraire toutes les villes à partir d'un numéro de département à 2 chiffres.
Pour se faire je pensais utiliser la fonction "substr" (ou "substring") de sql
de cette façon :

SELECT * FROM table_ville WHERE SUBSTR(colonne_code_postal, 0, 2) = num_dep


Où 'num_dep' est un numéro à 2 chiffres.
Seulement le retour de cette requête est systématiquement vide.
Quelqu'un pourrait il me communiquer la bonne manière d'utiliser cette fonction?
Merci.
Tu sais que le début du code postal ne correspond pas forcément au numéro de département de la ville ? Il y a des villes dont le code postal commence par le numéro de département voisin. Ça vient du fait qu'un code postal représente un centre de tri postal et pas une ville (plusieurs villes peuvent avoir le même code postal, une ville peut avoir plusieurs codes postaux, etc), donc une ville dans un département peut dépendre d'un centre de tri situé dans un département voisin.

Sinon pour substr, l'index commence à 1 et pas à 0, c'est pour ça que ta clause where ne fonctionne pas.
Modifié par jb_gfx (14 Jan 2013 - 21:18)
*sans compter tous ces salopards d'étrangers qui ont des codes postaux en 4 chiffres ne correspondant pas à un numéro de département
et les codes postaux des dom-tom qui ne correspondent pas au n° de département...*
Nickel, c'était bien l'index, merci. J'ai bien prévu le cas des dom-tom et des corses et je m’attelais aux problèmes de nos amis luxo et belges avec leur code postaux à 4 chiffres.
Par contre je n'avais pas envisagé cette histoire de centres de tri ne correspondant pas à la région, dans le cas présent les villes concernées sont toutes de grandes villes (généralement des chef-lieux), je pense donc que chacune possèdent un code postal correspond bien aux département en question (faudra que je vérifie tout de même).
Cependant l'info n'est pas tombé dans l'oreille d'un sourd et risque de ralentir la perte de mes cheveux à l'avenir.
En tout cas, merci encore.
Lothindil a écrit :
*sans compter tous ces salopards d'étrangers qui ont des codes postaux en 4 chiffres ne correspondant pas à un numéro de département


En même temps quand on parle de départements on sait qu'on parle de la France. Smiley cligne

Et si tu veux rigoler avec les codes postaux, regarde ceux du Canada. Smiley smile
Je sais bien, mais en tant que Belge, je crise régulièrement sur des sites français, avec des concours/livraisons disponibles en Belgique, qui n'accepte pas les codes postaux à 4 chiffres. ^^

Alors maintenant, je rappelle que tout le monde n'a pas des codes postaux à 5 chiffres coté francophone européen ^^