Bonjour.

J'ai dans une table des adresses d'utilisateurs qui sont comme suivant :

34 rue de Paris 45000 Toulouse
580 avenue du rond point carré 43020 La garonne sur oise
De chateau d'eau 18 avenue des fusils 77000 Saint-Quentin
etc ...

je cherche comment pouvoir ressortir le code postal de chacune des entrées.

Mon idée de départ à été de creer une boucle qui partirais de la fin de la chaine pour remonter jusqu'au premier caractère en supprimant chaque caractere qu'elle rencontre (pour faire une selection des 5 derniers carcateres de la chaine qui ne seront plus que le code postal ) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
DECLARE @CP VARCHAR(150)
 
SELECT
	@CP = c.Adresse 
FROM Collaborateur
 
	-- Decoupage de l'adresse pour ressortir le code postal
	WHILE NOT ISNUMERIC(SUBSTRING(@CP, LEN(@CP)-1, LEN(@CP)))
		BEGIN
			@CP = SUBSTRING(@CP, 0, LEN(@CP)-1)
	END
 
SELECT @CP AS CodePostal
Mais je pense avec du recul que je dois très mal m'y prendre.

Que me conseilleriez - vous ?