1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    juillet 2015
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2015
    Messages : 60
    Points : 33
    Points
    33

    Par défaut Convertir chiffre en heure.

    Bonjour,

    J'ai un requête qui convertir un chiffre comme '113052' en date sous le format '2013-02-21'

    J'aimerai que cette requête me transforme un chiffre du type '93923 ' en heure mais je ne sais pas comment m'y prendre.

    Voici la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If( ToInteger (NOM_DU_CHAMPS) = 0, {$U_DEFAULT_NUMBER}, 
    ConCat(ToChar(AddToDate(ToDate(ConCat('01-01-', 
    SubStr(ToChar(ToInteger( NOM_DU_CHAMPS)  + 1900000), 1, 4)), 'dd-mm-yyyy'), 
    ToInteger(SubStr(ToChar(ToInteger(NOM_DU_CHAMPS)  + 1900000), 5, 3))-1), 'YYYY-MM-DD')
    ))

    Si quelqu'un pourrait m'aider merci d'avance .

  2. #2
    Modérateur
    Avatar de elsuket
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    janvier 2005
    Messages
    5 779
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2005
    Messages : 5 779
    Points : 11 835
    Points
    11 835

    Par défaut

    Bonjour,

    Le code que vous donnez ressemble à du VB ... donc soit vous n'avez pas posté dans le bon forum, soit vous voulez obtenir le même résultat en SQL. Lequel est-ce svp ?

    J'ai un requête qui convertir un chiffre comme '113052' en date sous le format '2013-02-21'
    Je ne suis pas parvenu à trouver ce que 113052 peut représenter comme différence : si on soustrait ce nombre de jours au 21 Février 2013, on obtient le 14 Août 1703 ...
    Si on change par minutes, on obtient le 20 Mars 2000 ... donc soit il y a une petite erreur, et c'est le nombre d'heures écoulées depuis le 1er Janvier 2000, soit je ne sais pas.

    J'aimerai que cette requête me transforme un chiffre du type '93923 ' en heure mais je ne sais pas comment m'y prendre.
    Que souhaitez-vous obtenir exactement ? Une date et une heure ? Ici aussi, que représente le nombre 93923 ?

    @++

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    juillet 2015
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2015
    Messages : 60
    Points : 33
    Points
    33

    Par défaut

    Bonjour elsuket,

    En fait je travail sous Cognos (ETL) et je dois convertir un colonne 'Heure_MAJ' qui contient des chiffre (String) en heure .

    Cependant je ne sais pas comment m'y prendre après avoir essayé plusieurs façons qui n'ont pas ponctionnées.

    Ainsi je souhaite obtenir uniquement une heure, puisque j'ai une autre colonne 'DERNIERE_MAJ' qui me retourne la date.

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    juillet 2015
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2015
    Messages : 60
    Points : 33
    Points
    33

    Par défaut

    J'ai peut-être trouvé une solution, un peu tiré par les cheveux mais bon...

    En fait je converti ma colonne au format 'dd/mm/yyyy hh:mm:ss, puis j'essaye d'extraitre uniquement la partie hh:mm:ss
    Mais comment extraire uniquement cette partie.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If( ToInteger (DERNIERE_MAJ) = 0, {$U_DEFAULT_NUMBER}, 
    ConCat(ToChar(AddToDate(ToDate(ConCat('01-01-', 
    SubStr(ToChar(ToInteger( DERNIERE_MAJ )  + 1900000), 1, 4)), 'dd-mm-yyyy hh:mm:ss'), 
    ToInteger(SubStr(ToChar(ToInteger(DERNIERE_MAJ)  + 1900000), 5, 3))-1), 'YYYY-MM-DD HH:MM:SS')
    ))

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    octobre 2008
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : octobre 2008
    Messages : 598
    Points : 512
    Points
    512

    Par défaut

    C'est souvent des valeur exprimés en jours ou en secondes depuis le 01.01.1970
    donc j'opterais pour un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select DATEADD(Second,9853,'19700101')

Discussions similaires

  1. Réponses: 24
    Dernier message: 04/10/2006, 14h42
  2. Réponses: 45
    Dernier message: 27/09/2006, 10h44
  3. convertion d'un chiffre en heure
    Par Rodchess dans le forum Access
    Réponses: 6
    Dernier message: 29/06/2006, 16h46
  4. Réponses: 3
    Dernier message: 16/03/2006, 13h29
  5. [VB]Convertir chiffres en lettres
    Par RichY dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 16/02/2006, 14h43

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