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

DataStage Discussion :

[Datastage] Ecart entre TIMESTAMP


Sujet :

DataStage

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 36
    Points : 44
    Points
    44
    Par défaut [Datastage] Ecart entre TIMESTAMP
    Bonjour à tous,

    Je suis sur Datastage Server 8.1, et je dois comparer 2 dates (format TimeStamp: YYYY-MM-DD HH:MI:SS) et voir si ces 2 dates ont moins de 12h d'écart (dans 1 sens ou dans l'autre), que ce soit le même jour ou sur 2 jours consécutifs (sur une seule journée, le problème aurait été simple, mais sur 2 jours possibles, j'avoue être bloqués).

    J'ai essayé avec ICONV/OCONV mais je ne connais pas toutes les valeurs possibles du 2nd paramètre, et surtout, je n'en ai trouvé aucune pour les TIMESTAMP, uniquement pour les DATE et les TIME.

    Pouvez-vous m'aider?

    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 135
    Points : 167
    Points
    167
    Par défaut
    Bonjour,

    A ma connaissance, Datastage ne gère pas les timestamps. il gère des dates ( jour/ mois/année) et l'heure du jour.

    Pour votre besoin, je passerai par une routine datastage en jouant avec les fonctions ICONV et OCONV

    Pour info, la fonction OCONV appliquer à une date donne le nombre de jour depuis une date de référence ( vers 1900 si je me souviens bien).
    La fonction ICONV appliquer à une heure donne le nombre de seconde depuis minuit.

    exemple :ICONV(″00:00:01″,″MTS″) donne 1. MTS est le format de l'heure en 1er argument.


    Il faudrait regarder dans la doc "basic guide chapitre 10" de DS les items Date conversion et Time conversion pour avoir la liste de l'ensemble des formats.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 135
    Points : 167
    Points
    167
    Par défaut
    petite correction :
    la fonction OCONV appliquer à une date donne le nombre de jour depuis une date de référence
    C'est également la fonction ICONV qui renvoie le nombre de jour

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 36
    Points : 44
    Points
    44
    Par défaut
    Merci.
    C'est bien ce que je pensais, les TIMESTAMP ne sont pas gérés. J'avais déjà contourner mon problème en utilisant la gestion des TIME et DATE par les fonctions ICONV/OCONV, mais ca alourdissait mon traitement :-)

    Tant pis, je vais faire avec.

    ------------------------------------------------------------------
    Pour ceux qui cherchent:

    J'ai créé plusieurs StageVariables:
    - une pour la DATE de mon 1er Timestamp (D1)
    - une pour la DATE de mon 2e Timestamp (D2)
    - une pour le TIME de mon 1er Timestamp (T1)
    - une pour le TIME de mon 2e Timestamp (T2)

    Puis d'autres StageVariable créés à partir des précédents:
    - nb de jours entre D1 et D2 (DiffDay)
    - si DiffDay =0, valeur en secondes de T2 - T1 - 43200 (N)
    si DiffDay =1, (valeur en secondes entre T1 et minuit) + T2 - 43200 (N)
    (43200 représente le nb de secondes dans 12h)
    - si N <= 0, c'est que l'intervalle de temps entre mes 2 dates est inférieur ou égal à 12h

    Bonne journée

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    @Arsonix: c'est pas mal comme idée, mais elle n'est pas trop détaillée

    DiffDay =1, (valeur en secondes entre T1 et minuit) + T2 - 43200 (N): veut dire quoi "valeur en secondes entre T1 et minuit" comment pouvons nous la calculer

    pour: si N <= 0, c'est que l'intervalle de temps entre mes 2 dates est inférieur ou égal à 12h
    comment nous pouvons traité ce cas?

    Merci d'avance

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

Discussions similaires

  1. Ecart entre timestamp
    Par worldhugo dans le forum Langage
    Réponses: 6
    Dernier message: 09/07/2009, 10h46
  2. [CSS]Ecart entre blocs de type div
    Par elspliffo dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 27/07/2006, 10h59
  3. quelle diference y a t-il entre TIMESTAMP et DATETIME
    Par helium_lynx dans le forum Débuter
    Réponses: 6
    Dernier message: 12/06/2006, 00h16
  4. [css]Ecart entre élément <DIV>
    Par elspliffo dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 08/06/2006, 13h32
  5. Ecart entre 2 div
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 31/01/2006, 01h45

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