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

Requêtes MySQL Discussion :

Concaténation et Formatage d'un résultat


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 24
    Points : 13
    Points
    13
    Par défaut Concaténation et Formatage d'un résultat
    Bonjour à tous !

    Je travaille actuellement à l'export de factures stockées en bdd et je rencontre un petit souci.
    Mon numéro de facture est stocké en bdd sous la forme 1 2 3 4 etc... le nombre s'incrémente à chaque nouvelle facture.

    Or sur le document j'ai rajouté un préfixe et le numéro des facture est sous la forme : FA2018/000001, FA2018/000002, FA2018/000003 et ainsi de suite.

    Lors de ma requête, j'ai fais : CONCAT('FA2018/',oi.number) AS NumeroFacture

    Mais du coup j'obtiens FA2018/1 FA2018/2 etc...

    Je me demandais s'il y a une possibilité pour rajouter les 0 entre, le problème c'est que le nombre de 0 dépend du nombre de chiffres dans le numéro de facture.

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 380
    Points : 19 062
    Points
    19 062
    Par défaut
    Salut Hawthorne.

    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
    24
    --------------
    set @num = 5
    --------------
     
    --------------
    select CONCAT('FA2018/',@num) AS NumeroFacture
    --------------
     
    +---------------+
    | NumeroFacture |
    +---------------+
    | FA2018/5      |
    +---------------+
    --------------
    select CONCAT('FA2018/',right(concat('0000000000',@num),6)) AS NumeroFacture
    --------------
     
    +---------------+
    | NumeroFacture |
    +---------------+
    | FA2018/000005 |
    +---------------+
     
    Appuyez sur une touche pour continuer...
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Membre confirmé Avatar de isabelle.letrong
    Femme Profil pro
    Conseil - Consultante en systèmes d'information
    Inscrit en
    Juillet 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Conseil - Consultante en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2010
    Messages : 109
    Points : 487
    Points
    487
    Par défaut
    Bonjour Hawthorne,

    ou encore, sachant que 'oi.number' est surement un entier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT CONCAT('FA2018/',LPAD(CAST(oi.number AS CHAR),6,'0')) AS NumeroFacture
    FROM .... ;

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Je ne connaissais aucunes de ces deux instructions, merci beaucoup !!! Ca résout parfaitement le problème et je pense bien m'en servir à l'avenir !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. 'Concaténer' une colonne pour un résultat.
    Par gillou13 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/08/2011, 09h13
  2. [AC-2007] Concaténation avec formatage dans Access
    Par mathelin dans le forum Access
    Réponses: 16
    Dernier message: 09/05/2010, 18h55
  3. Concaténer plusieurs tuples dans un résultat
    Par cdryk dans le forum Oracle
    Réponses: 1
    Dernier message: 20/02/2007, 13h25
  4. Concaténation ne donne pas le résultat attendu
    Par artotal dans le forum Langage
    Réponses: 4
    Dernier message: 12/05/2006, 01h37
  5. Formatage résultat requête
    Par Original Prankster dans le forum Langage SQL
    Réponses: 19
    Dernier message: 06/09/2005, 19h02

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