Bonjour, bonjour!

Je viens de créer une petite fonction basic qui doit retourner la région d'appartenance par rapport a un code postal donné.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
create or replace function FGet_GeoProfile( cp Varchar2)
return VARCHAR2
IS
  l_cp Varchar2(2):= substr(cp,1,2);
  l_geoProfile varchar2(20):= NULL;
 
BEGIN
 
  IF l_cp is null then
      l_geoProfile:= '1. South East';
  ELSE
      CASE l_cp
           WHEN 'BA' || 'BH' ||'BS' ||'DT' ||'EX' ||'GL' ||'PL' || 'SN'|| 'SP' ||'TA' ||'TQ'||'TR'  THEN
              l_geoProfile:= '1. South East';
           WHEN 'AL' || 'BN' || 'CM' || 'CO' || 'CR' || 'CT' || 'DA' || 'GU' || 'HP' || 'LU' || 'ME' 
                || 'MK' || 'OX' || 'PO' || 'RG' || 'RH' || 'SG' || 'SL' || 'SO' || 'SS' || 'TN' || 'WD' THEN
              l_geoProfile:= '2. South East';  
           ELSE
              l_geoProfile:= 'Unknown';
      END CASE;
  END IF;
  return l_geoProfile;
END;
Je suis en Angleterre, les codes postaux commence par 2 lettres sur lesquels je fais mon test...

Mais en fait, ben cela ne fonctionne pas!
Le resultat est toujours 'Unknown'

Avez-vous une idée du comment du pourquoi?? parceque je préfererais éviter que mes utilisateurs aient a gérer la variable a passer.

Merci