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 :

[HELP] Convertion de seconde au format hh:mm:ss


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 44
    Par défaut [HELP] Convertion de seconde au format hh:mm:ss
    Bonjour,

    j'ai fait des operations sur des dates et heures et les reusltats sont retournés en seconde.

    J'aimerai les convertir dans le format hh:mm:ss

    Cela est il fesable ?
    si oui comment, merci de votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 44
    Par défaut
    J'y arrive vraiment pas, si quelqu'un a une idée ou rien qu'une piste je lui en serai tres reconaissant

    Merci

  3. #3
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 70
    Par défaut Faire les calculs
    Bonjour,
    Sincèrement, je ne connais aucune commande permettant la conversion à partir des secondes. Mais ce que tu paux faire c'est le calcul 60 secondes est une minute etc.

    Ce n'est pas joli, mais c'est tout ce que je te trouve comme solution. Sauf si quelqu'un nous trouve une meilleure.

    Bonne Chance

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 70
    Par défaut Fonction
    ReBonjour,

    Essaye cette fonction, elle te retournera une chaine et tu peux après la convertir en ce que tu veux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    create function fn_DateFromSecondes( @Secondes_ int )
      returns char(8)
    as
    begin
      declare @_Resultat char(8), @_Sec int, @_Min int, @_Heure int, @_Reste int
      set @_Reste = @Secondes_
      set @_Sec = @_Reste % 60
      set @_Reste = ( @_Reste - @_Sec ) / 60
      set @_Min = @_Reste % 60
      set @_Reste = ( @_Reste - @_Min ) / 60
      set @_Heure = @_Reste
     
      set @_Resultat = ( case when @_Heure > 10 then cast(@_Heure as char(2)) else '0'+cast(@_Heure as char(1)) end ) + ':' + 
                       ( case when @_Min > 10 then cast(@_Min as char(2)) else '0'+cast(@_Min as char(1)) end ) + ':' +
                       ( case when @_Sec > 10 then cast(@_Sec as char(2)) else '0'+cast(@_Sec as char(1)) end )
      return @_Resultat
    end
    go

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 44
    Par défaut
    merci beaucoup pour ton aide, je vais essayer tout ca!

  6. #6
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Il suffit d'ajouter des secondes à une date données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select convert(char(8), dateadd(ss, VotreNombre, '1/1/2005 00:00:00'),114) 
    from votreTable
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  7. #7
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 70
    Par défaut Intelligent
    Bonjour,
    La solution de Fadace est plus importante et plus intelligente. en effet, elle est plus rapide. Ajoute ton nombre en secondes à une date X en l'affectant à une variable et fait un extraction de heure:min:sec

    Bravo Fadace.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 44
    Par défaut
    Merci a vous deux
    Je vais tester la methode de Fadace.

    Sinon Youssef TAZI SIDQUI ta fonction marche tres bien exepté un petit bug, dont je n'arrive pas a trouver l'orgine. En effet lorsque j'essaye de convertir 10 secondes au format hh:mm:ss cela m'affiche 00:00:0*

Discussions similaires

  1. Transformer des secondes en format min:sec
    Par rafafa87 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/11/2013, 20h27
  2. convertion d'une date format serie
    Par tsm33 dans le forum Général Python
    Réponses: 7
    Dernier message: 12/01/2009, 08h03
  3. [SQL2K]Convertion de date hors format prévu
    Par Monstros Velu dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 23/11/2007, 13h47
  4. Con,vertir un nombre de seconde en format HEURE
    Par zooffy dans le forum ASP.NET
    Réponses: 10
    Dernier message: 20/07/2007, 11h00

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