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

Développement SQL Server Discussion :

le meilleur moyen de stocker des données de type TIME? [Fait]


Sujet :

Développement SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut le meilleur moyen de stocker des données de type TIME?
    Bonjour à tous,

    je suis assez novice en SQL Server, et je dois avouer que je suis en face d'un dilemne, et je me suis dit que vous étiez les mieux placés pour me répondre.

    Je dois stocker, dans une colonne, des données de type Time, c'est à dire "hh:mm:ss" sachant que je peux avoir des données comme 178h 35min 45sec (178:35:45).

    Quel type de colonne dois-je choisir sachant que si je prendre DATETIME, je vais avoir quelque chose comme 09/01/1900 12:14:00, et que je compte faire des requêtes sur ces données-là comme par exemple: "combien ai-je de ligne donc l'heure dépasse les 60h", ou "quelle est la différence de temps entre la ligne A (72:00:45) et B (48:04:00).

    Merci à vous tous pour votre aide.

    Cyril

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut
    SqlPro a écrit un tutorial qui peut t'aider.

    Pour en savoir plus : http://sqlpro.developpez.com/cours/gestiontemps/

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 : 21 768
    Points : 52 571
    Points
    52 571
    Billets dans le blog
    5
    Par défaut
    Utilisez un float avec la granularité de temps qui vous intéresse et des routines (UDF) afin de présenter les données sous forme littérales en sexagésimal.

    Pour ce faire, vous pouvez par exemple utiliser les UDF :
    FN_CONVERT_HMS_HD et FN_CONVERT_HD_HMS
    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/ * * * * *

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Utilisez un float avec la granularité de temps qui vous intéresse et des routines (UDF) afin de présenter les données sous forme littérales en sexagésimal.

    Pour ce faire, vous pouvez par exemple utiliser les UDF :
    FN_CONVERT_HMS_HD et FN_CONVERT_HD_HMS
    http://sqlpro.developpez.com/cours/sqlserver/udf/

    A +
    Merci à vous, cela semble en effet correspondre à ma demande, je vais essayer. Vous me conseillez donc créer la fonction "FN_CONVERT_HD_HMS", puis de stocker les heures en Float dans la table, et d'utiliser la fonction "FN_CONVERT_HD_HMS(LaColonne)" dans mes select pour les rappatrier en String dans ma requete, c'est bien ça?

    Pas contre, sachant que ca peut dépasser les 99h (ex: 135:00:00), et peuvent donc aller sur 9 caractères littéral au lieu de 8 comme sur votre fonction, les fonctions doivent être modifiée simplement entre passant le varchar à 9 ou ca va plus loin?

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

Discussions similaires

  1. [AC-2003] Meilleur moyen d'importer des données
    Par Thomas1434 dans le forum Modélisation
    Réponses: 7
    Dernier message: 04/03/2013, 10h04
  2. [MySQL] meilleur moyen pour exploiter des données
    Par greg59166 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/03/2010, 01h25
  3. [XML] stocker des données dans un fichier XML
    Par R3iTt0R dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 27/05/2005, 16h51
  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. Meilleur méthode pour stocker mes données
    Par cyberlewis dans le forum Windows
    Réponses: 6
    Dernier message: 03/07/2004, 11h53

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