|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Grégory Administrateur systèmes et réseaux Inscription : septembre 2011 Messages : 4 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : décembre 2002 Messages : 82 ![]() |
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. |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Sylvain DevidalChef de projets Générix Inscription : février 2010 Messages : 1 062 ![]() |
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 :
- 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. |
||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Grégory Administrateur systèmes et réseaux Inscription : septembre 2011 Messages : 4 ![]() |
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) |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
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 Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
Copyright © 2000-2012 - www.developpez.com