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

MS SQL Server Discussion :

Convertir chiffre en heure.


Sujet :

MS SQL Server

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 124
    Points : 51
    Points
    51
    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

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    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
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 124
    Points : 51
    Points
    51
    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
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 124
    Points : 51
    Points
    51
    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
    698
    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 : 698
    Points : 586
    Points
    586
    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