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 :

stocker une durée


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Par défaut stocker une durée
    Bonsoir,
    je souhaite savoir quelle est la meilleur facon de stocker une durée dans une table. J'ai une heure de départ et une heure d'arrivée. Je peux stocker les deux dans un datetime et le calculer quand j'en ai besoin. Mais ca ne me plait pas trop comme solution. Je préfererait si c'est possible stocker ce résultat directement dans la base. Merci pour vos réponses

  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 : 44
    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
    Par défaut
    Bonjour,

    Pourquoi ne la stockez vous pas dans une colonne de type numérique ?

  3. #3
    Membre éclairé Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Bonjour,

    Pourquoi ne la stockez vous pas dans une colonne de type numérique ?
    Parce que je ne vois pas comment faire. Et je dois effectuer des opérations dessus.
    Par exemple, je dois stocker
    1heure 32minutes 54secondes 546ms
    48 minutes 32s 221ms
    Je ne sais pas comment stocker ceci en numérique. Et une fois en numérique, comment puis-je les additionner ?
    Merci pour votre aide

  4. #4
    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
    Pour stocker ta valeur en numérique, il te suffit de choisir une unité.
    Est ce que tu veux une différence en minutes ? Secondes ? ms ?

    Ensuite tu fais la conversion lorsque tu veux représenter tes données.
    Cela te permet de faire des additions, soustractions...

  5. #5
    Membre éclairé Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Par défaut
    donc je ramène tout en milisecondes dans une colonne long. Ensuite existe t'il des fonctions intégrées à sql server pour les convertions en heures, minutes, secondes ou faut-il le faire manuellement ? Merci

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Utilisez un réel dans la colonne pour le stockage en heure décimale par exemple et des UDF pour les conversions et éventuellement de vues pour la présentation.
    Inspirez vous des UDF que j'ai écrites pour ce faire :
    FN_CONVERT_HMS_HD / FN_CONVERT_HD_HMS
    ici :
    http://sqlpro.developpez.com/cours/sqlserver/udf/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/01/2007, 14h59
  2. [CR] recuperer une durée grace a 2 date
    Par cmgirondins dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 13/01/2005, 07h20
  3. [Création de compo] Stocker une TList de records dans un dfm
    Par Benjamin GAGNEUX dans le forum Composants VCL
    Réponses: 6
    Dernier message: 29/10/2004, 11h01
  4. [MySQL] Quel est le meilleur moyen de stocker une date/heure ?
    Par MiJack dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 31/07/2004, 12h19
  5. Formater une durée sous la forme Heure:Minute:Seconde
    Par marsupile dans le forum C++Builder
    Réponses: 2
    Dernier message: 31/01/2004, 23h29

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