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

SQL Oracle Discussion :

Date au format julien - JD Edwards World Julian [11g]


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingénieur en études décisionnelles
    Inscrit en
    Février 2013
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur en études décisionnelles

    Informations forums :
    Inscription : Février 2013
    Messages : 134
    Par défaut Date au format julien - JD Edwards World Julian
    Bonjour,

    Je cherche à obtenir, avec une requête Oracle, la date au format julien au sens de JD Edwards World Julian.
    Pour expliquer ce que je souhaite, je vous copie rapidement la doc oracle.

    The JD Edwards World Julian (*JUL) format is CYYDDD where:
    • C is the value added to 19 to create the century (0=>19, 1=>20).
    • YY is the year within the century.
    • DDD is the day in the year which can range from 001 to 731(next year).

    For Example:
    • 098185 is July 4, 1998
    • 100001 is Jan 1, 2000
    • 099666 is Oct 27, 2000
    Par exemple, aujourd'hui, le 15/10/2015, nous sommes le 115288 en calendrier julien. (1 pour le XXIe siècle, 15 pour l'année 2015, 288 car nous sommes le 288e jour de l'année).


    Malheureusement, il est plus commun d'utiliser un autre terme. Par exemple, selon cette appli, nous sommes le 2457310.
    De même, il existe une fonction Oracle, mais qui donne le résultat selon cet autre terme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select to_char(sysdate,'J') from dual;
    J'en appelle à votre expérience : avez-vous la connaissance d'une fonction, afin d'obtenir ce que je souhaite ? Sinon, j'écrirai la fonction de transcodage, mais autant ne pas réinventer la roue si je peux l'éviter.

    Merci par avance.

    Emmanuel

  2. #2
    Membre émérite Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Par défaut
    Est ce que ca, ca ne te suffirait pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select to_char(sysdate,'CCYYDDD') 
    from dual;
    En supprimant le 2 devant, tu devrais obtenir ce que tu veux, non ?
    Par contre, tu n'auras jamais l'information "next year" car tu es toujours le next year d'une autre année... donc tu t'arreteras à 365

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur en études décisionnelles
    Inscrit en
    Février 2013
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur en études décisionnelles

    Informations forums :
    Inscription : Février 2013
    Messages : 134
    Par défaut
    Bonjour,

    C'est juste parfait.
    Voici la requête finale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TO_NUMBER(TO_CHAR(TO_DATE('1999-06-15','yyyy-MM-dd'),'CCYYDDD')) - 2000000 FROM DUAL;
    J'ai testé sur quelques dates, la valeur retournée est cohérente.
    Pour information, je précise que le troisième cas dans la doc ne m’intéresse pas. J'ai validé avec les responsables que la date finissait bien par 365 (366 les années bissextiles) dans leurs systèmes.

    Merci beaucoup alors. J'avais testé avec un format CYYDDD, ce qui me donnait un format de date inconnu.

    Bonne journée.

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

Discussions similaires

  1. Dates format julien à convertir en date normal
    Par Okkotonushi dans le forum Excel
    Réponses: 10
    Dernier message: 17/10/2014, 09h54
  2. Date de jour sous format Julien
    Par mehdi501 dans le forum AS/400
    Réponses: 7
    Dernier message: 20/06/2008, 14h18
  3. Tri dans une DBGrid sur un champ date au format jj/mm
    Par Jeankiki dans le forum Bases de données
    Réponses: 10
    Dernier message: 31/10/2004, 12h32
  4. [Date] Comparer des dates au format mySQL "date
    Par Marc_P dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 25/10/2004, 15h15
  5. Convertir une date au format excel en datetime SQL server
    Par ALLB dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 20/07/2004, 11h28

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