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 :

[DB2/AS400] Peut-on concatener des champs dans une requête SQL?


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 111
    Points : 53
    Points
    53
    Par défaut [DB2/AS400] Peut-on concatener des champs dans une requête SQL?
    Bonjour à tous!
    Dans ma requête SQL, je voudrais concatener des champs numériques pour obtenir une donnée date sur laquelle je voudrai faire des calculs.
    SQL me le permet-il ou alors faut-il seulement écrire un programme pour résoudre ce problème?
    Clotilde

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Quel SGBD ?

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 407
    Points
    28 407
    Par défaut
    Citation Envoyé par Clotilde
    Bonjour à tous!
    Dans ma requête SQL, je voudrais concatener des champs numériques pour obtenir une donnée date sur laquelle je voudrai faire des calculs.
    SQL me le permet-il ou alors faut-il seulement écrire un programme pour résoudre ce problème?
    L'opérateur standard de concaténation en SQL est ||.
    Pour le formatage des nombres, je crois que la fonction définie dans le standard est du type CAST(nombre AS FORMAT '...').
    Pour convertir les nombres JOUR, MOIS, ANNEE en date ANSI, il faudrait donc écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CAST((CAST(annee AS FORMAT '9999') || '-' 
          || CAST(mois AS FORMAT '99') || '-' 
          || CAST(jour AS FORMAT '99')) 
          AS DATE)
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 111
    Points : 53
    Points
    53
    Par défaut Type de ma BDD
    Ma base de donnée est DB2 et est installée sur un AS400. Il me semble, al1_24 que DB2 ne reconnait pas cette syntaxe que tu me proposes.
    Clotilde

  5. #5
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Bonjour,

    || (<alt gr> + <6>) est utilisable avec DB2 (UDB).
    1 alternative possible (tjours UDB) est CONCAT. Attention il s'emploie comme 1 opérateur, pas comme 1 fonction.
    ex: SELECT 1 CONCAT '.00';

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut point d'exclamation
    !! (<alt gr> + <6>) est utilisable avec DB2 (UDB) et est un raccourci pour CONCAT cité dans le dernier post de TheLeadingEdge.

Discussions similaires

  1. [AC-2010] Variabilité des champs dans une requête TCD
    Par Deustalos dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/06/2013, 13h05
  2. Comparer des champs dans une requête
    Par khelilo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/02/2013, 11h32
  3. [AC-2003] Concatener des champs dans une requête UPDATE
    Par ted the Ors dans le forum Requêtes et SQL.
    Réponses: 16
    Dernier message: 19/04/2010, 17h23
  4. Récupérer les noms des champs dans une requête
    Par Nerziel dans le forum Général Python
    Réponses: 1
    Dernier message: 14/09/2009, 11h29
  5. Comment utiliser des variables dans une requête SQL ?
    Par Ragnarok85 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 12/02/2007, 16h23

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