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 :

Créer un champs à partir de plusieurs et le mettre en forme


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Créer un champs à partir de plusieurs et le mettre en forme
    Bonjours,

    Je vous expose mon problème.
    Actuellement je récupère une donnée appelée run_number en int(4).
    Je récupère également run_year l'année en smallint(2)

    À partir de ces deux données je voudrais en former une nouvelle visant à remplacer le run_number qui est une donnée unique par année (je ne sais pas si c'est très clair)

    Cette nouvelle donnée aurait le format suivant:
    JYXXXX

    J est une lettre fixe,
    Y est le dernier digits de l'année,
    et où XXXX est le run number sur quatre digits.

    Voila un peu la problématique. je suis très débutant dans ce langage et je me tape la tête sur mon bureau depuis une semaine car le run_number est présent dans de nombreuse tables de la base de données sur laquelle je travaille.
    Il faut donc que j'arrive à ajouter ce champs à toutes ces tables et ensuite l'ajouter à pas mal de vues.
    Bref si seulement j'arrivais à lui donner le bon format

    J'espère que mes explications sont assez claires et je vous remercie par avance pour vos réponses.

    Edit : j'avais commis une erreur sur les datatypes

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Bonjour,

    Il vous faut concaténer votre colonne colonne run_number avec le préfixe que vous vous êtes fixé --> JY.

    Par exemple sur SQL Server :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT 'JY' + CAST(run_number AS CHAR(4))
    FROM matable
    ++

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Oui, rajouter le J n'est pas un problème.
    C'est rajouter le dernier digit de l'année qui me pose problème (le Y est le dernier digits de l'année durant laquelle a été enregistrée le run_number) ainsi que de passer le run_number sur 4 digits.

    Exemple : run_number = 350 l'écrire run_number = 0350

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 388
    Points
    18 388
    Par défaut
    Quel est votre SGBD ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    SQL server 2000 entreprise (dsl de l'omission)

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 388
    Points
    18 388
    Par défaut
    Essayez ainsi (j'ai saisi trois exemples) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    select run_number, run_year,
           'J'
           + right(cast(run_year as varchar(2)), 1)
           + right('0000' + cast(run_number as varchar(4)), 4) as new_col
      from MaTable;
     
    run_number  run_year    new_col
    ----------- ----------- -------
    350         10          J00350
    2           9           J90002
    1234        3           J31234

  7. #7
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Merci Waldar ça correspond exactement à ce que je cherchais. Cette donnée n'ayant pour seul utilité que d'être consultée j'ai pu l'insérer directement dans une vue ! Le grand chef est content

    Waldar Encore merci !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/01/2023, 12h12
  2. [10g] Créer un champ à partir de plusieurs
    Par Olamb dans le forum SQL
    Réponses: 8
    Dernier message: 08/10/2013, 16h13
  3. Réponses: 0
    Dernier message: 27/05/2009, 11h16
  4. Créer un graphique à partir de plusieurs bases
    Par zorgov dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 28/10/2008, 15h48
  5. Créer un bitmap à partir de plusieurs autres
    Par MiJack dans le forum Delphi
    Réponses: 4
    Dernier message: 08/06/2006, 13h47

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