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 :

Problème avec heures supérieures à 24 heures.


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2011
    Messages : 4
    Par défaut Problème avec heures supérieures à 24 heures.
    Bonjour à tous,
    avant de poster j'ai vérifier si la question existait sur le forum et je ne l'ai pas trouvé, donc désolé si c'est un double post.

    Bon, voici mon problème:
    J'encode des données dans un fichier excel et dans certaines colonne le format est [hh].mm et ces colonnes correspondent à un encodage par rapport à un régime de travail mais aussi à un pourcentage de ce régime, qui peut être aussi supérieur à 24 heures.

    Donc sous excel, aucun problème, par contre, dès que j'importe ce tableau, j'ai le même problème qu'avec Access, les heures supérieurs à 24 heures ne s'affichent pas correctement.
    Y a t il un format spécifique sachant qu'ils sont mis en "datetime" sous SQL.
    Je suis assez novice en SQL, je connais les bases, ce n'est pas mon métier principal, donc si vous pouviez m'aider sur ce problème, celà serait sympa.

    Dans le futur je reviendrai souvent vers vous, car SQl Server va prendre de plus en plus de place dans mon métier.

    Merci.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 87
    Par défaut
    Bonjour,

    Je n'ai pas tout compris à ton problème.
    Néanmoins j'importe régulièrement des données de fichiers Excel à l'aide d'ETL pour stocker ces informations dans une base SQL.

    Personnellement, je récupère toujours les valeurs en varchar et ensuite je fais un traitement de qualité de données (c'est a dire Test des différentes valeurs, nettoyage et CAST quand ce sont des dates par exemple. Pour cela j'ai des fonctions comme ISVALIDDATE...).

    En espérant avoir pu t'orienter dans ta recherche.

  3. #3
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Voici ce qui me vient en tête (pas de SQL Server sour la main pour tester).

    Tu découpes ton heures Excel sous forme de deux entiers "nbheures" et "nbminutes".
    Ensuite, tu fais ce traitement pour récupérer l'heure convertie en datetime :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dateadd(dateadd(cast(0 as datetime) /*01/01/1900*/, 'h', nbheures), 'm', nbminutes)
    - Vérifier l'initialisation de la date au 01/01/1900, je me souviens plus si un cast à partir de 0 fonctionne (sinon, tu entres toi-même la date en dure)
    - Vérifier que le datepart "h" correspond aux heures
    - Vérifier que le datepart "m" correspond aux minutes
    - Vérifier l'ordre des paramètres de dateadd.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2011
    Messages : 4
    Par défaut Merci
    pour vos réponse.
    Dommage que la gestion du temps ne soit pas géré de base comme avec Excel.
    Je teste et vous dis quoi (ben oui, chti d'origine)

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 992
    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 992
    Billets dans le blog
    6
    Par défaut
    Un tableur n'a pas de type de données. Vous pouvez donc rentrer dans n'importe quelle colonne, n'importe quelle information. Par exemple dans une colonne heure vous pouvez saisir "toto"...
    Ce n'est pas le cas d'un SGBDR qui est fortement typé et pour lequel un type TIME permet de saisir des heures véritables allant de 0 à 23h59m59s9999999.
    Si vous voulez manipuler des "quantités" d'heures, il vous faut par exemple stocker cela sous forme d'entiers ou de réel.

    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/ * * * * *

Discussions similaires

  1. Problème avec les dates : une heure de moins
    Par jaymz dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 17/03/2009, 09h29
  2. [Teradata] problème avec un champ date/heure
    Par gontrand16 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 11/06/2008, 19h35
  3. [Dates] Problème avec des dates et Heures
    Par snakejl dans le forum Langage
    Réponses: 9
    Dernier message: 16/05/2006, 18h04
  4. Excel : problème avec la saisie d'heure
    Par an_merle dans le forum Excel
    Réponses: 1
    Dernier message: 21/02/2006, 22h26
  5. Réponses: 1
    Dernier message: 11/10/2004, 10h47

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