IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Formatter un Numéro de Téléphone


Sujet :

Langage SQL

  1. #1
    Membre chevronné Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Points : 1 971
    Points
    1 971
    Par défaut Formatter un Numéro de Téléphone
    Bonjour à Tous,

    J'ai dans une table des numéros de téléphone en format chaine de caractère. Par exemple '0032 477102233' ou encore '0477102233'.

    Je dois restituer dans une vue ces mêmes numéros sous le format '+32 477 10 22 33'.

    Auriez-vous une idée de comment faire ?

    J'avais pensé :

    1)récupérer uniquement les nombres (en cas d'espace ou autres caractères non numériques.
    2)de cette chaîne de chiffre, récupérer les 9 derniers.
    3) ajouter par defaut le +32

    4) appliquer un format "personnalisé"

    Mais je vous avoue "patauger" et ne pas y arriver seul.

    Merci d'avance pour votre aide.
    MFoxy

  2. #2
    Membre confirmé Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 345
    Points : 495
    Points
    495
    Par défaut
    un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT '0032+' + RIGHT(TRIM(Notel)),9)

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 311
    Points : 39 677
    Points
    39 677
    Billets dans le blog
    9
    Par défaut
    Le masque d'affichage dépend du pays d'enregistrement du numéro de téléphone.

    Si les numéros enregistrés correspondent à plusieurs pays, il faut en tenir compte.

    Voir cet article : https://fr.wikipedia.org/wiki/Num%C3...A9l%C3%A9phone

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 874
    Points : 53 037
    Points
    53 037
    Billets dans le blog
    6
    Par défaut
    Le mieux est de créer une UDF pour cela.
    Exemple pour Microsoft SQL Server :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE OR ALTER FUNCTION F_FORMAT_TEL (@TEL VARCHAR(32))
    RETURNS VARCHAR(32)
    AS
    BEGIN
       SET @TEL = REPLACE(@TEL, ' ', '');
       IF LEFT(@TEL, 2) = '00'
          RETURN '+' + FORMAT(CAST(RIGHT(@TEL, LEN(@TEL) - 2) AS bigint), '## ### ## ## ##');
       RETURN '+32 ' + FORMAT(CAST(@TEL AS bigint), '### ## ## ##');
    END;
    GO
    Test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT dbo.F_FORMAT_TEL('123 45 67 89') 
    SELECT dbo.F_FORMAT_TEL('0032 123456789')
    +32 123 45 67 89
    +32 123 45 67 89

    A +

Discussions similaires

  1. Récupérer le numéro de téléphone entrant
    Par louisss dans le forum Access
    Réponses: 23
    Dernier message: 26/07/2023, 18h21
  2. récuperation d'un numéro de téléphone
    Par herzleid dans le forum Delphi
    Réponses: 4
    Dernier message: 17/07/2007, 09h25
  3. Formatter un numéro de téléphone
    Par Zfred dans le forum Ruby
    Réponses: 8
    Dernier message: 11/07/2007, 19h24
  4. Identification de numéros de téléphone
    Par sfxElrick dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 17/03/2005, 18h40
  5. Insérer un numéro de téléphone
    Par Fleep dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 31/10/2004, 09h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo