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 :

Gestion de temps


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut Gestion de temps
    Bonjour à toutes et à tous,

    je suis entrain de créer une application qui doit gérer des temps (gestion de classement au temps)

    j'aurais donc besoin de faire des additions de temps.

    Le problème est que SQL Server ne propose pas de données de type temps.

    j'ai pensé utiliser le type datetime, mais le problème est que je peux avoir des temps supérieurs à 24 heures

    quelqu'un a-t-il déjà eu ce problème?

    et l'a-t-il résolu?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de gderenne
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2007
    Messages : 250
    Par défaut
    Salut,

    Si ton temps est xxx secondes, il n'est pas utile d'utiliser autre chose qu'un bigint...

    En effet, pour 72h, ca fait 72x60x60 = 259200 secondes

    Ton but est d'avoir un ecrat entre 2 dates ou de placer le nombre d'unités de temps (seoncdes, minutes, heures...) ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut
    Citation Envoyé par gderenne
    Ton but est d'avoir un ecrat entre 2 dates ou de placer le nombre d'unités de temps (seoncdes, minutes, heures...) ?
    Le but, si possible serait de garder le nombre d'unités de temps.

    je dit bien serait, car si ca n'est pas possible, je stockerais ca en secondes effectivement...

  4. #4
    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
    Le datetime n'est pas si mal pour ça. Ensuite ce n'est que cosmétique pour retourner l'information en heures plutôt que jours !
    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 !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut Ok pour le stockage...
    Citation Envoyé par fadace Voir le message
    Le datetime n'est pas si mal pour ça. Ensuite ce n'est que cosmétique pour retourner l'information en heures plutôt que jours !
    Mais justement, comment faire pour que, si on a un temps de 27h32'43'', on récupère 27:32:43 et non pas 3:32:43?

    Merci d'avance pour la réponse

    doudou

  6. #6
    Membre Expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Par défaut
    Lorsque tu as un nombre de seconde (x) :

    x / 3600 te donne le nombre d'heure

    (x%3600) / 60 te donne le nombre de minutes

    (x%3600) % 60 te donne le nombre de seconde

    NB : x/3600 est une division entiere de x.
    Meme remarque pour (x%3600) / 60.

  7. #7
    Membre expérimenté Avatar de gderenne
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2007
    Messages : 250
    Par défaut
    Citation Envoyé par doudou_rennes Voir le message
    Mais justement, comment faire pour que, si on a un temps de 27h32'43'', on récupère 27:32:43 et non pas 3:32:43?

    Merci d'avance pour la réponse

    doudou
    A ce moment là, le mieux ne serait-il pas d'avoir une date de début et une date de fin.

    Pour connaitre la différence entre les 2 dates, il suffit d'utiliser DATEDIFF qui peut aller au dela de 24h.

    Par exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DATEDIFF(s, '18/08/2007 15:00:00', '21/08/2007 18:00:00') 
    -- Résultat = 270000 secondes
    Ensuite, il suffit de calculer pour obtenir le nombre de jours, d'heures, de minutes et de secondes.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 72
    Par défaut Merci tout le monde
    Merci tout le monde

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

Discussions similaires

  1. FB/IB gestion du temps
    Par lio33 dans le forum Débuter
    Réponses: 4
    Dernier message: 04/10/2005, 10h55
  2. [MFC] Gestion du temps
    Par Kevgeii dans le forum MFC
    Réponses: 7
    Dernier message: 02/07/2005, 14h21
  3. Aide pour l'analyse d'un problème de gestion de temps
    Par PAINCO dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 03/06/2005, 15h49
  4. [VB.NET] Gestion en temps réel d'une bdd access
    Par qwiskas dans le forum Windows Forms
    Réponses: 6
    Dernier message: 12/02/2005, 19h37
  5. fonction de gestion du temps
    Par fati dans le forum C
    Réponses: 5
    Dernier message: 26/12/2002, 16h32

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