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

DB2 Discussion :

[DB2 / AS400] Date du jour au format année mois jour ?


Sujet :

DB2

  1. #1
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut [DB2 / AS400] Date du jour au format année mois jour ?
    Bonjour à tous,

    Code sql :
    SELECT champ1 FROM monSchema.maTable WHERE champ2 = CURRENT DATE


    Me retourne ce message d'erreur :

    Error: [SQL0401] Opérandes de l'opérateur = incompatibles.
    SQLState: 42818
    ErrorCode: -401
    Alors que la requête ci-dessous fonctionne !!!

    Code sql :
    SELECT CURRENT DATE AS DATE_DU_JOUR FROM monSchema.maTable


    DATE_DU_JOUR
    ---------------
    2008-09-23
    De plus, il faudrait que la date soit formatée ainsi 'YYYYMMDD' et non 'YYYY-MM-DD'.

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour,

    Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT 
                champ1 
    FROM 
                monSchema.maTable 
    WHERE 
                champ2 = TO_DATE('CURRENT DATE', 'YYYYMMDD')

  3. #3
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Error: [SQL0204] TO_DATE de type *N dans *LIBL non trouvé.
    SQLState: 42704
    ErrorCode: -204

  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bô, quelle version de DB2 ?

    Et ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    REPLACE(CHAR('CURRENT DATE',iso),'-','')

  5. #5
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Citation Envoyé par Chtulus Voir le message
    Bô, quelle version de DB2 ?
    DB2 sur iSeries V5R3

    J'ai essayé la requête dans une session 5250 et ça ne fonctionne pas plus que via SQuirreL et le connecteur JDBC "JT400.jar".


  6. #6
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Citation Envoyé par Chtulus Voir le message
    Et ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    REPLACE(CHAR('CURRENT DATE',iso),'-','')
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select REPLACE(CHAR('CURRENT DATE',iso),'-','')
    from monSchema.maTable

    Error: [SQL0171] L'argument 2 de la fonction CHAR est incorrect.
    SQLState: 42815
    ErrorCode: -171

  7. #7
    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
    Pour changer le format de la date sur un écran vert, faire
    STRSQL>F13>1>
    et modifier le paramètre Date Format.
    Ensuite, pour ce qui cioncerne la requête SELECT, il faut faire :


    Je considère dans cet exemple que la date dans CHAMP2 est en aphanumérique sur 8 positions au format YYYYMMDD. On va la mettre au format ISO pour tester son contenu par rapport à la date en cours.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT champ1 FROM monSchema.maTable 
    WHERE 
      SUBSTR(CHAMP2, 1, 4)    CONCAT   '-'   CONCAT
      SUBSTR(CHAMP2, 5, 2)   CONCAT    '-'   CONCAT
      SUBSTR(CHAMP2, 7, 2) = CURRENT DATE
    Si la date CHAMP2 est sous un autre format, il faut bien entendu en tenir compte dans les positions des SUBSTRings ci-dessus.


    D'un autre côté, il est évident que ta requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CURRENT DATE AS DATE_DU_JOUR FROM monSchema.maTable
    fonctionne pour la bonne raison que tu ne fais que lister la CURRENT DATE, registre particulier de SQL, avec une requête comme celle-la.

  8. #8
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut



    Merci beaucoup !


    Gôm

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/08/2015, 16h46
  2. Calcul d'écart de date (année, mois, jour,etc)
    Par le.dams dans le forum Access
    Réponses: 7
    Dernier message: 08/01/2011, 17h47
  3. Réponses: 5
    Dernier message: 13/05/2008, 15h28
  4. Fonction date année, mois jour?
    Par Portekoi dans le forum DB2
    Réponses: 1
    Dernier message: 11/12/2007, 11h45
  5. date en année/mois/jour
    Par marcusien dans le forum Windows Forms
    Réponses: 6
    Dernier message: 13/03/2007, 14h58

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