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

Langage SQL Discussion :

Affichage Numéro de Téléphone


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Affichage Numéro de Téléphone
    Bonjour,

    Dans un select, j'affiche actuellement les numéros de portables des clients au format 0102030405 ( champ au format Varchar(20),Null dans la BDD )

    Dans ma requête j'aimerai afficher ces données plutôt sous la forme 01.02.03.04.05 , comment faire ?


    Merci à vous.

  2. #2
    Modérateur

    Ce n'est pas vraiment le travail d'un SGBD de faire la mise en forme des données, mais plutôt de l'application qui les utilisera.
    Sinon, il faut passer par un découpage de la chaîne avec insertion des séparateurs ou l'utilisation d'une fonction de remplacement à base d'expressions rationnelles.
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  3. #3
    Modérateur

    Pour l'exercice, voici cinq expressions régulières qui répondent au besoin :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select regexp_replace(num_tel, '(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})', '\1.\2.\3.\4.\5') as num_tel_1
         , regexp_replace(num_tel, '(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)', '\1.\2.\3.\4.\5')      as num_tel_2
         , trim(trailing '.' from regexp_replace(num_tel, '(\d\d)', '\1.'))                 as num_tel_3
         , regexp_replace(num_tel, '(\d{2}(?=\d{2}))', '\1.')                               as num_tel_4
         , regexp_replace(num_tel, '(\d\d(?!$))', '\1.')                                    as num_tel_5
      from (select '0102030405' as num_tel) as t;


    Syntaxe à adapter à votre SGBD.

  4. #4
    Futur Membre du Club
    Merci à vous .

###raw>template_hook.ano_emploi###