Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Récupérer le numéro de rue dans l'adresse


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Récupérer le numéro de rue dans l'adresse
    bonjour a tous ,

    j'ai besoin de récupérer le numéro de Rue a travers un adresse

    sauf que dans des cas l'adresse ne commence pas par un numéro (Anomalie de saisie) dans cette cas je doit envoyer un valeur vide

    Qui peut m'aider SVP sur ma demande

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    declare @table  table 
     (adresse varchar(50))  
     
     insert into @table values  ('89 Rue Roland Vachette')
      insert into @table values ('Rue Roland Vachette')
     
     select adresse,substring(adresse ,1 ,charindex (' ',adresse)) from  @table


    cordialement

  2. #2
    Modérateur

    Tu peux résoudre ça avec une expression rationnelle qui recherche une série de chiffres en début de chaîne.
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  3. #3
    Membre éprouvé
    Faire un test a travers isnumeric

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    declare @table  table 
     (adresse varchar(50))  
     
     insert into @table values  ('89 Rue Roland Vachette')
      insert into @table values ('Rue Roland Vachette')
     
     select adresse,case when isnumeric(substring(adresse ,1 ,charindex (' ',adresse)))>0 then substring(adresse ,1 ,charindex (' ',adresse))
     else '' end   from  @table

  4. #4
    Modérateur

    bonjour,

    ou plus simple :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    SUBSTRING(adresse, 1,PATINDEX('%[^0-9]%', adresse) - 1)


    hmm, vous n 'aurez jamais de "3bis", "243ter" ou autre "quater" dans le numéros ?

  5. #5
    Expert éminent sénior
    bis, ter et aussi 10-12 rue machin chose...

  6. #6
    Rédacteur

    Utilisez la fonction translate avec l'ensemble des lettres sauf les nombres remplacés par des blancs puis faites un TRIM !

    A +
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.