Bonjour,
Connaissez vous un site concernant SQL Server est de façon plus spécifique
les manipulation de donnée de type DateTime.
Je dois sommer des heures et ma solution semble être non optimisée ni
pratique, (addition des minutes et des heures en utilisant datepart :())
!!!!.
Merci d'avance
Loïc
Bonjour,
Connaissez vous un site concernant SQL Server est de façon plus spécifique
les manipulation de donnée de type DateTime.
Je dois sommer des heures et ma solution semble être non optimisée ni
pratique, (addition des minutes et des heures en utilisant datepart :())
!!!!.
Merci d'avance
Loïc
Bonjour,
Connaissez vous un site concernant SQL Server est de façon plus spécifique
les manipulation de donnée de type DateTime.
Je dois sommer des heures et ma solution semble être non optimisée ni
pratique, (addition des minutes et des heures en utilisant datepart :())
!!!!.
Merci d'avance
Loïc
Je suppose que dateadd() ne te convient pas.
Peux-tu donner plus d'explications sur ton probleme ?
DATEADD ( datepart , number, date )
exemple:
select dateadd(hour,1,getdate())
"Loïc" a écrit dans le message de
news:eX$
> Bonjour,
>
> Connaissez vous un site concernant SQL Server est de façon plus
> les manipulation de donnée de type DateTime.
>
> Je dois sommer des heures et ma solution semble être non optimisée ni
> pratique, (addition des minutes et des heures en utilisant datepart :())
> !!!!.
>
> Merci d'avance
> Loïc
>
>
Je suppose que dateadd() ne te convient pas.
Peux-tu donner plus d'explications sur ton probleme ?
DATEADD ( datepart , number, date )
exemple:
select dateadd(hour,1,getdate())
"Loïc" <Jask@bluew1n.ch> a écrit dans le message de
news:eX$OgR5pEHA.2588@TK2MSFTNGP12.phx.gbl...
> Bonjour,
>
> Connaissez vous un site concernant SQL Server est de façon plus
> les manipulation de donnée de type DateTime.
>
> Je dois sommer des heures et ma solution semble être non optimisée ni
> pratique, (addition des minutes et des heures en utilisant datepart :())
> !!!!.
>
> Merci d'avance
> Loïc
>
>
Je suppose que dateadd() ne te convient pas.
Peux-tu donner plus d'explications sur ton probleme ?
DATEADD ( datepart , number, date )
exemple:
select dateadd(hour,1,getdate())
"Loïc" a écrit dans le message de
news:eX$
> Bonjour,
>
> Connaissez vous un site concernant SQL Server est de façon plus
> les manipulation de donnée de type DateTime.
>
> Je dois sommer des heures et ma solution semble être non optimisée ni
> pratique, (addition des minutes et des heures en utilisant datepart :())
> !!!!.
>
> Merci d'avance
> Loïc
>
>
Salut, merci pour la réponse rapide.
En fait, très con comme problème, je fais du développement depuis quelques
temps, et j'ai toujours à l'esprit d'utiliser le code le plus optimisé
possible et surtout ne pas réinventer la roue et là je suis en train de me
prendre la tête pour quelque chose d'hyper simple....
Voici de quoi il s'agit. Imaginons une table composée de colonnes :
HeureDeb, HeureFin, TotalHeure
TotalHeure est une colonne alimentée comme il se doit par la difference
entre HeureFin et HeureDeb (simplicité enfantine n'est ce pas ;)).
Maintenant que j'ai mon résultat dans cette colonne j'aimerais sommer
celle-ci, donc comme mon type de donnée est en datetime mes données sont
stockée sous la forme : aaaa-mm-aa hh:mm:sss, alors le plus compliqué que
j'ai trouvé est de faire la chose suivante :
SELECT SUM(DATEPART(minute,TotalHeure))/60 FROM TotalHeure =>pour les
minutes
SELECT SUM(DATEPART(hour,TotalHeure)) FROM TotalHeure
Il va s'en dire que cette solution ne me convient pas du tout, non
parcque j'ai l'impression de bricoler :) et d'autre part car je pense
solution plus pro existe ;).
Merci de ta patience et des informations que tu pourras m'apporter
Meilleures salutations
Loïc
"deconnected" a écrit dans le message de
news:%
> Je suppose que dateadd() ne te convient pas.
> Peux-tu donner plus d'explications sur ton probleme ?
>
>
> DATEADD ( datepart , number, date )
> exemple:
> select dateadd(hour,1,getdate())
>
>
> "Loïc" a écrit dans le message de
> news:eX$
> > Bonjour,
> >
> > Connaissez vous un site concernant SQL Server est de façon plus
spécifique
> > les manipulation de donnée de type DateTime.
> >
> > Je dois sommer des heures et ma solution semble être non optimisée ni
> > pratique, (addition des minutes et des heures en utilisant datepart
> > !!!!.
> >
> > Merci d'avance
> > Loïc
> >
> >
>
>
Salut, merci pour la réponse rapide.
En fait, très con comme problème, je fais du développement depuis quelques
temps, et j'ai toujours à l'esprit d'utiliser le code le plus optimisé
possible et surtout ne pas réinventer la roue et là je suis en train de me
prendre la tête pour quelque chose d'hyper simple....
Voici de quoi il s'agit. Imaginons une table composée de colonnes :
HeureDeb, HeureFin, TotalHeure
TotalHeure est une colonne alimentée comme il se doit par la difference
entre HeureFin et HeureDeb (simplicité enfantine n'est ce pas ;)).
Maintenant que j'ai mon résultat dans cette colonne j'aimerais sommer
celle-ci, donc comme mon type de donnée est en datetime mes données sont
stockée sous la forme : aaaa-mm-aa hh:mm:sss, alors le plus compliqué que
j'ai trouvé est de faire la chose suivante :
SELECT SUM(DATEPART(minute,TotalHeure))/60 FROM TotalHeure =>pour les
minutes
SELECT SUM(DATEPART(hour,TotalHeure)) FROM TotalHeure
Il va s'en dire que cette solution ne me convient pas du tout, non
parcque j'ai l'impression de bricoler :) et d'autre part car je pense
solution plus pro existe ;).
Merci de ta patience et des informations que tu pourras m'apporter
Meilleures salutations
Loïc
"deconnected" <jambon@porc.com> a écrit dans le message de
news:%23uoGDW5pEHA.2764@TK2MSFTNGP11.phx.gbl...
> Je suppose que dateadd() ne te convient pas.
> Peux-tu donner plus d'explications sur ton probleme ?
>
>
> DATEADD ( datepart , number, date )
> exemple:
> select dateadd(hour,1,getdate())
>
>
> "Loïc" <Jask@bluew1n.ch> a écrit dans le message de
> news:eX$OgR5pEHA.2588@TK2MSFTNGP12.phx.gbl...
> > Bonjour,
> >
> > Connaissez vous un site concernant SQL Server est de façon plus
spécifique
> > les manipulation de donnée de type DateTime.
> >
> > Je dois sommer des heures et ma solution semble être non optimisée ni
> > pratique, (addition des minutes et des heures en utilisant datepart
> > !!!!.
> >
> > Merci d'avance
> > Loïc
> >
> >
>
>
Salut, merci pour la réponse rapide.
En fait, très con comme problème, je fais du développement depuis quelques
temps, et j'ai toujours à l'esprit d'utiliser le code le plus optimisé
possible et surtout ne pas réinventer la roue et là je suis en train de me
prendre la tête pour quelque chose d'hyper simple....
Voici de quoi il s'agit. Imaginons une table composée de colonnes :
HeureDeb, HeureFin, TotalHeure
TotalHeure est une colonne alimentée comme il se doit par la difference
entre HeureFin et HeureDeb (simplicité enfantine n'est ce pas ;)).
Maintenant que j'ai mon résultat dans cette colonne j'aimerais sommer
celle-ci, donc comme mon type de donnée est en datetime mes données sont
stockée sous la forme : aaaa-mm-aa hh:mm:sss, alors le plus compliqué que
j'ai trouvé est de faire la chose suivante :
SELECT SUM(DATEPART(minute,TotalHeure))/60 FROM TotalHeure =>pour les
minutes
SELECT SUM(DATEPART(hour,TotalHeure)) FROM TotalHeure
Il va s'en dire que cette solution ne me convient pas du tout, non
parcque j'ai l'impression de bricoler :) et d'autre part car je pense
solution plus pro existe ;).
Merci de ta patience et des informations que tu pourras m'apporter
Meilleures salutations
Loïc
"deconnected" a écrit dans le message de
news:%
> Je suppose que dateadd() ne te convient pas.
> Peux-tu donner plus d'explications sur ton probleme ?
>
>
> DATEADD ( datepart , number, date )
> exemple:
> select dateadd(hour,1,getdate())
>
>
> "Loïc" a écrit dans le message de
> news:eX$
> > Bonjour,
> >
> > Connaissez vous un site concernant SQL Server est de façon plus
spécifique
> > les manipulation de donnée de type DateTime.
> >
> > Je dois sommer des heures et ma solution semble être non optimisée ni
> > pratique, (addition des minutes et des heures en utilisant datepart
> > !!!!.
> >
> > Merci d'avance
> > Loïc
> >
> >
>
>
Essaie :
SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM TotalHeure
Patrice
--
"Loïc" a écrit dans le message de
news:
> Salut, merci pour la réponse rapide.
>
> En fait, très con comme problème, je fais du développement depuis
> temps, et j'ai toujours à l'esprit d'utiliser le code le plus optimisé
> possible et surtout ne pas réinventer la roue et là je suis en train de
> prendre la tête pour quelque chose d'hyper simple....
>
> Voici de quoi il s'agit. Imaginons une table composée de colonnes :
> HeureDeb, HeureFin, TotalHeure
>
> TotalHeure est une colonne alimentée comme il se doit par la difference
> entre HeureFin et HeureDeb (simplicité enfantine n'est ce pas ;)).
> Maintenant que j'ai mon résultat dans cette colonne j'aimerais sommer
> celle-ci, donc comme mon type de donnée est en datetime mes données sont
> stockée sous la forme : aaaa-mm-aa hh:mm:sss, alors le plus compliqué
> j'ai trouvé est de faire la chose suivante :
>
> SELECT SUM(DATEPART(minute,TotalHeure))/60 FROM TotalHeure =>pour les
> minutes
> SELECT SUM(DATEPART(hour,TotalHeure)) FROM TotalHeure
>
> Il va s'en dire que cette solution ne me convient pas du tout, non
seulement
> parcque j'ai l'impression de bricoler :) et d'autre part car je pense
qu'une
> solution plus pro existe ;).
>
> Merci de ta patience et des informations que tu pourras m'apporter
> Meilleures salutations
> Loïc
>
>
> "deconnected" a écrit dans le message de
> news:%
> > Je suppose que dateadd() ne te convient pas.
> > Peux-tu donner plus d'explications sur ton probleme ?
> >
> >
> > DATEADD ( datepart , number, date )
> > exemple:
> > select dateadd(hour,1,getdate())
> >
> >
> > "Loïc" a écrit dans le message de
> > news:eX$
> > > Bonjour,
> > >
> > > Connaissez vous un site concernant SQL Server est de façon plus
> spécifique
> > > les manipulation de donnée de type DateTime.
> > >
> > > Je dois sommer des heures et ma solution semble être non optimisée
> > > pratique, (addition des minutes et des heures en utilisant datepart
:())
> > > !!!!.
> > >
> > > Merci d'avance
> > > Loïc
> > >
> > >
> >
> >
>
>
Essaie :
SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM TotalHeure
Patrice
--
"Loïc" <Jask@bluew1n.ch> a écrit dans le message de
news:epRtDc5pEHA.1952@TK2MSFTNGP12.phx.gbl...
> Salut, merci pour la réponse rapide.
>
> En fait, très con comme problème, je fais du développement depuis
> temps, et j'ai toujours à l'esprit d'utiliser le code le plus optimisé
> possible et surtout ne pas réinventer la roue et là je suis en train de
> prendre la tête pour quelque chose d'hyper simple....
>
> Voici de quoi il s'agit. Imaginons une table composée de colonnes :
> HeureDeb, HeureFin, TotalHeure
>
> TotalHeure est une colonne alimentée comme il se doit par la difference
> entre HeureFin et HeureDeb (simplicité enfantine n'est ce pas ;)).
> Maintenant que j'ai mon résultat dans cette colonne j'aimerais sommer
> celle-ci, donc comme mon type de donnée est en datetime mes données sont
> stockée sous la forme : aaaa-mm-aa hh:mm:sss, alors le plus compliqué
> j'ai trouvé est de faire la chose suivante :
>
> SELECT SUM(DATEPART(minute,TotalHeure))/60 FROM TotalHeure =>pour les
> minutes
> SELECT SUM(DATEPART(hour,TotalHeure)) FROM TotalHeure
>
> Il va s'en dire que cette solution ne me convient pas du tout, non
seulement
> parcque j'ai l'impression de bricoler :) et d'autre part car je pense
qu'une
> solution plus pro existe ;).
>
> Merci de ta patience et des informations que tu pourras m'apporter
> Meilleures salutations
> Loïc
>
>
> "deconnected" <jambon@porc.com> a écrit dans le message de
> news:%23uoGDW5pEHA.2764@TK2MSFTNGP11.phx.gbl...
> > Je suppose que dateadd() ne te convient pas.
> > Peux-tu donner plus d'explications sur ton probleme ?
> >
> >
> > DATEADD ( datepart , number, date )
> > exemple:
> > select dateadd(hour,1,getdate())
> >
> >
> > "Loïc" <Jask@bluew1n.ch> a écrit dans le message de
> > news:eX$OgR5pEHA.2588@TK2MSFTNGP12.phx.gbl...
> > > Bonjour,
> > >
> > > Connaissez vous un site concernant SQL Server est de façon plus
> spécifique
> > > les manipulation de donnée de type DateTime.
> > >
> > > Je dois sommer des heures et ma solution semble être non optimisée
> > > pratique, (addition des minutes et des heures en utilisant datepart
:())
> > > !!!!.
> > >
> > > Merci d'avance
> > > Loïc
> > >
> > >
> >
> >
>
>
Essaie :
SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM TotalHeure
Patrice
--
"Loïc" a écrit dans le message de
news:
> Salut, merci pour la réponse rapide.
>
> En fait, très con comme problème, je fais du développement depuis
> temps, et j'ai toujours à l'esprit d'utiliser le code le plus optimisé
> possible et surtout ne pas réinventer la roue et là je suis en train de
> prendre la tête pour quelque chose d'hyper simple....
>
> Voici de quoi il s'agit. Imaginons une table composée de colonnes :
> HeureDeb, HeureFin, TotalHeure
>
> TotalHeure est une colonne alimentée comme il se doit par la difference
> entre HeureFin et HeureDeb (simplicité enfantine n'est ce pas ;)).
> Maintenant que j'ai mon résultat dans cette colonne j'aimerais sommer
> celle-ci, donc comme mon type de donnée est en datetime mes données sont
> stockée sous la forme : aaaa-mm-aa hh:mm:sss, alors le plus compliqué
> j'ai trouvé est de faire la chose suivante :
>
> SELECT SUM(DATEPART(minute,TotalHeure))/60 FROM TotalHeure =>pour les
> minutes
> SELECT SUM(DATEPART(hour,TotalHeure)) FROM TotalHeure
>
> Il va s'en dire que cette solution ne me convient pas du tout, non
seulement
> parcque j'ai l'impression de bricoler :) et d'autre part car je pense
qu'une
> solution plus pro existe ;).
>
> Merci de ta patience et des informations que tu pourras m'apporter
> Meilleures salutations
> Loïc
>
>
> "deconnected" a écrit dans le message de
> news:%
> > Je suppose que dateadd() ne te convient pas.
> > Peux-tu donner plus d'explications sur ton probleme ?
> >
> >
> > DATEADD ( datepart , number, date )
> > exemple:
> > select dateadd(hour,1,getdate())
> >
> >
> > "Loïc" a écrit dans le message de
> > news:eX$
> > > Bonjour,
> > >
> > > Connaissez vous un site concernant SQL Server est de façon plus
> spécifique
> > > les manipulation de donnée de type DateTime.
> > >
> > > Je dois sommer des heures et ma solution semble être non optimisée
> > > pratique, (addition des minutes et des heures en utilisant datepart
:())
> > > !!!!.
> > >
> > > Merci d'avance
> > > Loïc
> > >
> > >
> >
> >
>
>
Salut merci pour la solution mais celle-ci me renvoie un résultat erroné.
effet, le SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM
TotalHeure me renvoie un total de 05:45:00 alors que j'ai en tout cas pour
heure de total, et lorsque je décortique la requête de cette manière
(SUM(CAST(TotalHeure AS FLOAT))) FROM TotalHeure cela me
renvoie -88.7604166666667 !!!!!!!!!
Quezako ?
Salutations
Loïc
"Patrice" a écrit dans le message de
news:
> Essaie :
>
> SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM TotalHeure
>
> Patrice
>
> --
>
> "Loïc" a écrit dans le message de
> news:
> > Salut, merci pour la réponse rapide.
> >
> > En fait, très con comme problème, je fais du développement depuis
quelques
> > temps, et j'ai toujours à l'esprit d'utiliser le code le plus optimisé
> > possible et surtout ne pas réinventer la roue et là je suis en train
me
> > prendre la tête pour quelque chose d'hyper simple....
> >
> > Voici de quoi il s'agit. Imaginons une table composée de colonnes :
> > HeureDeb, HeureFin, TotalHeure
> >
> > TotalHeure est une colonne alimentée comme il se doit par la differenc
> > entre HeureFin et HeureDeb (simplicité enfantine n'est ce pas ;)).
> > Maintenant que j'ai mon résultat dans cette colonne j'aimerais sommer
> > celle-ci, donc comme mon type de donnée est en datetime mes données
> > stockée sous la forme : aaaa-mm-aa hh:mm:sss, alors le plus compliqué
que
> > j'ai trouvé est de faire la chose suivante :
> >
> > SELECT SUM(DATEPART(minute,TotalHeure))/60 FROM TotalHeure =>pour les
> > minutes
> > SELECT SUM(DATEPART(hour,TotalHeure)) FROM TotalHeure
> >
> > Il va s'en dire que cette solution ne me convient pas du tout, non
> seulement
> > parcque j'ai l'impression de bricoler :) et d'autre part car je pense
> qu'une
> > solution plus pro existe ;).
> >
> > Merci de ta patience et des informations que tu pourras m'apporter
> > Meilleures salutations
> > Loïc
> >
> >
> > "deconnected" a écrit dans le message de
> > news:%
> > > Je suppose que dateadd() ne te convient pas.
> > > Peux-tu donner plus d'explications sur ton probleme ?
> > >
> > >
> > > DATEADD ( datepart , number, date )
> > > exemple:
> > > select dateadd(hour,1,getdate())
> > >
> > >
> > > "Loïc" a écrit dans le message de
> > > news:eX$
> > > > Bonjour,
> > > >
> > > > Connaissez vous un site concernant SQL Server est de façon plus
> > spécifique
> > > > les manipulation de donnée de type DateTime.
> > > >
> > > > Je dois sommer des heures et ma solution semble être non optimisée
ni
> > > > pratique, (addition des minutes et des heures en utilisant
> :())
> > > > !!!!.
> > > >
> > > > Merci d'avance
> > > > Loïc
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Salut merci pour la solution mais celle-ci me renvoie un résultat erroné.
effet, le SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM
TotalHeure me renvoie un total de 05:45:00 alors que j'ai en tout cas pour
heure de total, et lorsque je décortique la requête de cette manière
(SUM(CAST(TotalHeure AS FLOAT))) FROM TotalHeure cela me
renvoie -88.7604166666667 !!!!!!!!!
Quezako ?
Salutations
Loïc
"Patrice" <nobody@nowhere.com> a écrit dans le message de
news:OX2XP95pEHA.1712@tk2msftngp13.phx.gbl...
> Essaie :
>
> SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM TotalHeure
>
> Patrice
>
> --
>
> "Loïc" <Jask@bluew1n.ch> a écrit dans le message de
> news:epRtDc5pEHA.1952@TK2MSFTNGP12.phx.gbl...
> > Salut, merci pour la réponse rapide.
> >
> > En fait, très con comme problème, je fais du développement depuis
quelques
> > temps, et j'ai toujours à l'esprit d'utiliser le code le plus optimisé
> > possible et surtout ne pas réinventer la roue et là je suis en train
me
> > prendre la tête pour quelque chose d'hyper simple....
> >
> > Voici de quoi il s'agit. Imaginons une table composée de colonnes :
> > HeureDeb, HeureFin, TotalHeure
> >
> > TotalHeure est une colonne alimentée comme il se doit par la differenc
> > entre HeureFin et HeureDeb (simplicité enfantine n'est ce pas ;)).
> > Maintenant que j'ai mon résultat dans cette colonne j'aimerais sommer
> > celle-ci, donc comme mon type de donnée est en datetime mes données
> > stockée sous la forme : aaaa-mm-aa hh:mm:sss, alors le plus compliqué
que
> > j'ai trouvé est de faire la chose suivante :
> >
> > SELECT SUM(DATEPART(minute,TotalHeure))/60 FROM TotalHeure =>pour les
> > minutes
> > SELECT SUM(DATEPART(hour,TotalHeure)) FROM TotalHeure
> >
> > Il va s'en dire que cette solution ne me convient pas du tout, non
> seulement
> > parcque j'ai l'impression de bricoler :) et d'autre part car je pense
> qu'une
> > solution plus pro existe ;).
> >
> > Merci de ta patience et des informations que tu pourras m'apporter
> > Meilleures salutations
> > Loïc
> >
> >
> > "deconnected" <jambon@porc.com> a écrit dans le message de
> > news:%23uoGDW5pEHA.2764@TK2MSFTNGP11.phx.gbl...
> > > Je suppose que dateadd() ne te convient pas.
> > > Peux-tu donner plus d'explications sur ton probleme ?
> > >
> > >
> > > DATEADD ( datepart , number, date )
> > > exemple:
> > > select dateadd(hour,1,getdate())
> > >
> > >
> > > "Loïc" <Jask@bluew1n.ch> a écrit dans le message de
> > > news:eX$OgR5pEHA.2588@TK2MSFTNGP12.phx.gbl...
> > > > Bonjour,
> > > >
> > > > Connaissez vous un site concernant SQL Server est de façon plus
> > spécifique
> > > > les manipulation de donnée de type DateTime.
> > > >
> > > > Je dois sommer des heures et ma solution semble être non optimisée
ni
> > > > pratique, (addition des minutes et des heures en utilisant
> :())
> > > > !!!!.
> > > >
> > > > Merci d'avance
> > > > Loïc
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Salut merci pour la solution mais celle-ci me renvoie un résultat erroné.
effet, le SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM
TotalHeure me renvoie un total de 05:45:00 alors que j'ai en tout cas pour
heure de total, et lorsque je décortique la requête de cette manière
(SUM(CAST(TotalHeure AS FLOAT))) FROM TotalHeure cela me
renvoie -88.7604166666667 !!!!!!!!!
Quezako ?
Salutations
Loïc
"Patrice" a écrit dans le message de
news:
> Essaie :
>
> SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM TotalHeure
>
> Patrice
>
> --
>
> "Loïc" a écrit dans le message de
> news:
> > Salut, merci pour la réponse rapide.
> >
> > En fait, très con comme problème, je fais du développement depuis
quelques
> > temps, et j'ai toujours à l'esprit d'utiliser le code le plus optimisé
> > possible et surtout ne pas réinventer la roue et là je suis en train
me
> > prendre la tête pour quelque chose d'hyper simple....
> >
> > Voici de quoi il s'agit. Imaginons une table composée de colonnes :
> > HeureDeb, HeureFin, TotalHeure
> >
> > TotalHeure est une colonne alimentée comme il se doit par la differenc
> > entre HeureFin et HeureDeb (simplicité enfantine n'est ce pas ;)).
> > Maintenant que j'ai mon résultat dans cette colonne j'aimerais sommer
> > celle-ci, donc comme mon type de donnée est en datetime mes données
> > stockée sous la forme : aaaa-mm-aa hh:mm:sss, alors le plus compliqué
que
> > j'ai trouvé est de faire la chose suivante :
> >
> > SELECT SUM(DATEPART(minute,TotalHeure))/60 FROM TotalHeure =>pour les
> > minutes
> > SELECT SUM(DATEPART(hour,TotalHeure)) FROM TotalHeure
> >
> > Il va s'en dire que cette solution ne me convient pas du tout, non
> seulement
> > parcque j'ai l'impression de bricoler :) et d'autre part car je pense
> qu'une
> > solution plus pro existe ;).
> >
> > Merci de ta patience et des informations que tu pourras m'apporter
> > Meilleures salutations
> > Loïc
> >
> >
> > "deconnected" a écrit dans le message de
> > news:%
> > > Je suppose que dateadd() ne te convient pas.
> > > Peux-tu donner plus d'explications sur ton probleme ?
> > >
> > >
> > > DATEADD ( datepart , number, date )
> > > exemple:
> > > select dateadd(hour,1,getdate())
> > >
> > >
> > > "Loïc" a écrit dans le message de
> > > news:eX$
> > > > Bonjour,
> > > >
> > > > Connaissez vous un site concernant SQL Server est de façon plus
> > spécifique
> > > > les manipulation de donnée de type DateTime.
> > > >
> > > > Je dois sommer des heures et ma solution semble être non optimisée
ni
> > > > pratique, (addition des minutes et des heures en utilisant
> :())
> > > > !!!!.
> > > >
> > > > Merci d'avance
> > > > Loïc
> > > >
> > > >
> > >
> > >
> >
> >
>
>
1) Essaie le site de Fred largement cité dans ce groupe qui dispose d'un
chapitre sur dates et heures. Il me semblait avoir vu passer que l'on
pouvait CASTé un datetime en FLOAT pour faire des calculs.
2) A l'époque, j'avais suggéré plutôt de stocker explicitement la colonne
sous forme d'un entier (par exemple en minutes) ce qui me parait encore
maintenant plus "direct". Il est alors trivial de faire l'addition et la
mise en forme du résultat sous la forme HH:MM devient un formatage pris en
charge par l'application cliente.
Bonne continuation
Patrice
--
"Loïc" a écrit dans le message de
news:
> Salut merci pour la solution mais celle-ci me renvoie un résultat
En
> effet, le SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM
> TotalHeure me renvoie un total de 05:45:00 alors que j'ai en tout cas
9
> heure de total, et lorsque je décortique la requête de cette manière
SELECT
> (SUM(CAST(TotalHeure AS FLOAT))) FROM TotalHeure cela me
> renvoie -88.7604166666667 !!!!!!!!!
>
> Quezako ?
>
> Salutations
> Loïc
> "Patrice" a écrit dans le message de
> news:
> > Essaie :
> >
> > SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM
> >
> > Patrice
> >
> > --
> >
> > "Loïc" a écrit dans le message de
> > news:
> > > Salut, merci pour la réponse rapide.
> > >
> > > En fait, très con comme problème, je fais du développement depuis
> quelques
> > > temps, et j'ai toujours à l'esprit d'utiliser le code le plus
> > > possible et surtout ne pas réinventer la roue et là je suis en train
de
> me
> > > prendre la tête pour quelque chose d'hyper simple....
> > >
> > > Voici de quoi il s'agit. Imaginons une table composée de colonnes :
> > > HeureDeb, HeureFin, TotalHeure
> > >
> > > TotalHeure est une colonne alimentée comme il se doit par la
e
> > > entre HeureFin et HeureDeb (simplicité enfantine n'est ce pas ;)).
> > > Maintenant que j'ai mon résultat dans cette colonne j'aimerais
> > > celle-ci, donc comme mon type de donnée est en datetime mes données
sont
> > > stockée sous la forme : aaaa-mm-aa hh:mm:sss, alors le plus
> que
> > > j'ai trouvé est de faire la chose suivante :
> > >
> > > SELECT SUM(DATEPART(minute,TotalHeure))/60 FROM TotalHeure =>pour
> > > minutes
> > > SELECT SUM(DATEPART(hour,TotalHeure)) FROM TotalHeure
> > >
> > > Il va s'en dire que cette solution ne me convient pas du tout, non
> > seulement
> > > parcque j'ai l'impression de bricoler :) et d'autre part car je
> > qu'une
> > > solution plus pro existe ;).
> > >
> > > Merci de ta patience et des informations que tu pourras m'apporter
> > > Meilleures salutations
> > > Loïc
> > >
> > >
> > > "deconnected" a écrit dans le message de
> > > news:%
> > > > Je suppose que dateadd() ne te convient pas.
> > > > Peux-tu donner plus d'explications sur ton probleme ?
> > > >
> > > >
> > > > DATEADD ( datepart , number, date )
> > > > exemple:
> > > > select dateadd(hour,1,getdate())
> > > >
> > > >
> > > > "Loïc" a écrit dans le message de
> > > > news:eX$
> > > > > Bonjour,
> > > > >
> > > > > Connaissez vous un site concernant SQL Server est de façon plus
> > > spécifique
> > > > > les manipulation de donnée de type DateTime.
> > > > >
> > > > > Je dois sommer des heures et ma solution semble être non
> ni
> > > > > pratique, (addition des minutes et des heures en utilisant
datepart
> > :())
> > > > > !!!!.
> > > > >
> > > > > Merci d'avance
> > > > > Loïc
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
1) Essaie le site de Fred largement cité dans ce groupe qui dispose d'un
chapitre sur dates et heures. Il me semblait avoir vu passer que l'on
pouvait CASTé un datetime en FLOAT pour faire des calculs.
2) A l'époque, j'avais suggéré plutôt de stocker explicitement la colonne
sous forme d'un entier (par exemple en minutes) ce qui me parait encore
maintenant plus "direct". Il est alors trivial de faire l'addition et la
mise en forme du résultat sous la forme HH:MM devient un formatage pris en
charge par l'application cliente.
Bonne continuation
Patrice
--
"Loïc" <Jask@bluew1n.ch> a écrit dans le message de
news:Olohrl6pEHA.348@TK2MSFTNGP15.phx.gbl...
> Salut merci pour la solution mais celle-ci me renvoie un résultat
En
> effet, le SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM
> TotalHeure me renvoie un total de 05:45:00 alors que j'ai en tout cas
9
> heure de total, et lorsque je décortique la requête de cette manière
SELECT
> (SUM(CAST(TotalHeure AS FLOAT))) FROM TotalHeure cela me
> renvoie -88.7604166666667 !!!!!!!!!
>
> Quezako ?
>
> Salutations
> Loïc
> "Patrice" <nobody@nowhere.com> a écrit dans le message de
> news:OX2XP95pEHA.1712@tk2msftngp13.phx.gbl...
> > Essaie :
> >
> > SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM
> >
> > Patrice
> >
> > --
> >
> > "Loïc" <Jask@bluew1n.ch> a écrit dans le message de
> > news:epRtDc5pEHA.1952@TK2MSFTNGP12.phx.gbl...
> > > Salut, merci pour la réponse rapide.
> > >
> > > En fait, très con comme problème, je fais du développement depuis
> quelques
> > > temps, et j'ai toujours à l'esprit d'utiliser le code le plus
> > > possible et surtout ne pas réinventer la roue et là je suis en train
de
> me
> > > prendre la tête pour quelque chose d'hyper simple....
> > >
> > > Voici de quoi il s'agit. Imaginons une table composée de colonnes :
> > > HeureDeb, HeureFin, TotalHeure
> > >
> > > TotalHeure est une colonne alimentée comme il se doit par la
e
> > > entre HeureFin et HeureDeb (simplicité enfantine n'est ce pas ;)).
> > > Maintenant que j'ai mon résultat dans cette colonne j'aimerais
> > > celle-ci, donc comme mon type de donnée est en datetime mes données
sont
> > > stockée sous la forme : aaaa-mm-aa hh:mm:sss, alors le plus
> que
> > > j'ai trouvé est de faire la chose suivante :
> > >
> > > SELECT SUM(DATEPART(minute,TotalHeure))/60 FROM TotalHeure =>pour
> > > minutes
> > > SELECT SUM(DATEPART(hour,TotalHeure)) FROM TotalHeure
> > >
> > > Il va s'en dire que cette solution ne me convient pas du tout, non
> > seulement
> > > parcque j'ai l'impression de bricoler :) et d'autre part car je
> > qu'une
> > > solution plus pro existe ;).
> > >
> > > Merci de ta patience et des informations que tu pourras m'apporter
> > > Meilleures salutations
> > > Loïc
> > >
> > >
> > > "deconnected" <jambon@porc.com> a écrit dans le message de
> > > news:%23uoGDW5pEHA.2764@TK2MSFTNGP11.phx.gbl...
> > > > Je suppose que dateadd() ne te convient pas.
> > > > Peux-tu donner plus d'explications sur ton probleme ?
> > > >
> > > >
> > > > DATEADD ( datepart , number, date )
> > > > exemple:
> > > > select dateadd(hour,1,getdate())
> > > >
> > > >
> > > > "Loïc" <Jask@bluew1n.ch> a écrit dans le message de
> > > > news:eX$OgR5pEHA.2588@TK2MSFTNGP12.phx.gbl...
> > > > > Bonjour,
> > > > >
> > > > > Connaissez vous un site concernant SQL Server est de façon plus
> > > spécifique
> > > > > les manipulation de donnée de type DateTime.
> > > > >
> > > > > Je dois sommer des heures et ma solution semble être non
> ni
> > > > > pratique, (addition des minutes et des heures en utilisant
datepart
> > :())
> > > > > !!!!.
> > > > >
> > > > > Merci d'avance
> > > > > Loïc
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
1) Essaie le site de Fred largement cité dans ce groupe qui dispose d'un
chapitre sur dates et heures. Il me semblait avoir vu passer que l'on
pouvait CASTé un datetime en FLOAT pour faire des calculs.
2) A l'époque, j'avais suggéré plutôt de stocker explicitement la colonne
sous forme d'un entier (par exemple en minutes) ce qui me parait encore
maintenant plus "direct". Il est alors trivial de faire l'addition et la
mise en forme du résultat sous la forme HH:MM devient un formatage pris en
charge par l'application cliente.
Bonne continuation
Patrice
--
"Loïc" a écrit dans le message de
news:
> Salut merci pour la solution mais celle-ci me renvoie un résultat
En
> effet, le SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM
> TotalHeure me renvoie un total de 05:45:00 alors que j'ai en tout cas
9
> heure de total, et lorsque je décortique la requête de cette manière
SELECT
> (SUM(CAST(TotalHeure AS FLOAT))) FROM TotalHeure cela me
> renvoie -88.7604166666667 !!!!!!!!!
>
> Quezako ?
>
> Salutations
> Loïc
> "Patrice" a écrit dans le message de
> news:
> > Essaie :
> >
> > SELECT CAST(SUM(CAST(TotalHeure AS FLOAT)) AS DATETIME) FROM
> >
> > Patrice
> >
> > --
> >
> > "Loïc" a écrit dans le message de
> > news:
> > > Salut, merci pour la réponse rapide.
> > >
> > > En fait, très con comme problème, je fais du développement depuis
> quelques
> > > temps, et j'ai toujours à l'esprit d'utiliser le code le plus
> > > possible et surtout ne pas réinventer la roue et là je suis en train
de
> me
> > > prendre la tête pour quelque chose d'hyper simple....
> > >
> > > Voici de quoi il s'agit. Imaginons une table composée de colonnes :
> > > HeureDeb, HeureFin, TotalHeure
> > >
> > > TotalHeure est une colonne alimentée comme il se doit par la
e
> > > entre HeureFin et HeureDeb (simplicité enfantine n'est ce pas ;)).
> > > Maintenant que j'ai mon résultat dans cette colonne j'aimerais
> > > celle-ci, donc comme mon type de donnée est en datetime mes données
sont
> > > stockée sous la forme : aaaa-mm-aa hh:mm:sss, alors le plus
> que
> > > j'ai trouvé est de faire la chose suivante :
> > >
> > > SELECT SUM(DATEPART(minute,TotalHeure))/60 FROM TotalHeure =>pour
> > > minutes
> > > SELECT SUM(DATEPART(hour,TotalHeure)) FROM TotalHeure
> > >
> > > Il va s'en dire que cette solution ne me convient pas du tout, non
> > seulement
> > > parcque j'ai l'impression de bricoler :) et d'autre part car je
> > qu'une
> > > solution plus pro existe ;).
> > >
> > > Merci de ta patience et des informations que tu pourras m'apporter
> > > Meilleures salutations
> > > Loïc
> > >
> > >
> > > "deconnected" a écrit dans le message de
> > > news:%
> > > > Je suppose que dateadd() ne te convient pas.
> > > > Peux-tu donner plus d'explications sur ton probleme ?
> > > >
> > > >
> > > > DATEADD ( datepart , number, date )
> > > > exemple:
> > > > select dateadd(hour,1,getdate())
> > > >
> > > >
> > > > "Loïc" a écrit dans le message de
> > > > news:eX$
> > > > > Bonjour,
> > > > >
> > > > > Connaissez vous un site concernant SQL Server est de façon plus
> > > spécifique
> > > > > les manipulation de donnée de type DateTime.
> > > > >
> > > > > Je dois sommer des heures et ma solution semble être non
> ni
> > > > > pratique, (addition des minutes et des heures en utilisant
datepart
> > :())
> > > > > !!!!.
> > > > >
> > > > > Merci d'avance
> > > > > Loïc
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>
Bonjour,
Connaissez vous un site concernant SQL Server est de façon plus spécifique
les manipulation de donnée de type DateTime.
Je dois sommer des heures et ma solution semble être non optimisée ni
pratique, (addition des minutes et des heures en utilisant datepart :())
!!!!.
Merci d'avance
Loïc
Bonjour,
Connaissez vous un site concernant SQL Server est de façon plus spécifique
les manipulation de donnée de type DateTime.
Je dois sommer des heures et ma solution semble être non optimisée ni
pratique, (addition des minutes et des heures en utilisant datepart :())
!!!!.
Merci d'avance
Loïc
Bonjour,
Connaissez vous un site concernant SQL Server est de façon plus spécifique
les manipulation de donnée de type DateTime.
Je dois sommer des heures et ma solution semble être non optimisée ni
pratique, (addition des minutes et des heures en utilisant datepart :())
!!!!.
Merci d'avance
Loïc
Bonjour,
Connaissez vous un site concernant SQL Server est de façon plus spécifique
les manipulation de donnée de type DateTime.
Je dois sommer des heures et ma solution semble être non optimisée ni
pratique, (addition des minutes et des heures en utilisant datepart :())
!!!!.
Merci d'avance
Loïc
Bonjour,
Connaissez vous un site concernant SQL Server est de façon plus spécifique
les manipulation de donnée de type DateTime.
Je dois sommer des heures et ma solution semble être non optimisée ni
pratique, (addition des minutes et des heures en utilisant datepart :())
!!!!.
Merci d'avance
Loïc
Bonjour,
Connaissez vous un site concernant SQL Server est de façon plus spécifique
les manipulation de donnée de type DateTime.
Je dois sommer des heures et ma solution semble être non optimisée ni
pratique, (addition des minutes et des heures en utilisant datepart :())
!!!!.
Merci d'avance
Loïc
un DATETIME est en faity stocké sous forme de FLOAT. La partie entière est
jour compté à partir du 1er janvier 1900 = 0.
La partie décimale est une fraction de jour, soit 24h...
Donc 0,5 convertit en DATETIME donne 1er janvier 1900 à midi.
L'addition et la soustraction d'heures est donc directe. Point n'est
CAST CONVERT etc, il suffit d'additionner des réels.
Exemple :
SELECT CURRENT_TIMESTAMP + 0.5
Il convient donc de stocker ses heures sous forme de DATETIME ou de FLOAT,
laisser les calculs se faire comme ci c'était des FLOAT et éventuellemment
présenter les choses sous un aspect cosmétique plus clair par exemples
fonctions comme :
qui permet d'afficher une heure décimale en HMS.
A lire sur les problématiques de traitement des date/heures :
http://sqlpro.developpez.com/Planning/SQL_PLN.html
A +
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Loïc a écrit:
> Bonjour,
>
> Connaissez vous un site concernant SQL Server est de façon plus
> les manipulation de donnée de type DateTime.
>
> Je dois sommer des heures et ma solution semble être non optimisée ni
> pratique, (addition des minutes et des heures en utilisant datepart :())
> !!!!.
>
> Merci d'avance
> Loïc
>
>
un DATETIME est en faity stocké sous forme de FLOAT. La partie entière est
jour compté à partir du 1er janvier 1900 = 0.
La partie décimale est une fraction de jour, soit 24h...
Donc 0,5 convertit en DATETIME donne 1er janvier 1900 à midi.
L'addition et la soustraction d'heures est donc directe. Point n'est
CAST CONVERT etc, il suffit d'additionner des réels.
Exemple :
SELECT CURRENT_TIMESTAMP + 0.5
Il convient donc de stocker ses heures sous forme de DATETIME ou de FLOAT,
laisser les calculs se faire comme ci c'était des FLOAT et éventuellemment
présenter les choses sous un aspect cosmétique plus clair par exemples
fonctions comme :
qui permet d'afficher une heure décimale en HMS.
A lire sur les problématiques de traitement des date/heures :
http://sqlpro.developpez.com/Planning/SQL_PLN.html
A +
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Loïc a écrit:
> Bonjour,
>
> Connaissez vous un site concernant SQL Server est de façon plus
> les manipulation de donnée de type DateTime.
>
> Je dois sommer des heures et ma solution semble être non optimisée ni
> pratique, (addition des minutes et des heures en utilisant datepart :())
> !!!!.
>
> Merci d'avance
> Loïc
>
>
un DATETIME est en faity stocké sous forme de FLOAT. La partie entière est
jour compté à partir du 1er janvier 1900 = 0.
La partie décimale est une fraction de jour, soit 24h...
Donc 0,5 convertit en DATETIME donne 1er janvier 1900 à midi.
L'addition et la soustraction d'heures est donc directe. Point n'est
CAST CONVERT etc, il suffit d'additionner des réels.
Exemple :
SELECT CURRENT_TIMESTAMP + 0.5
Il convient donc de stocker ses heures sous forme de DATETIME ou de FLOAT,
laisser les calculs se faire comme ci c'était des FLOAT et éventuellemment
présenter les choses sous un aspect cosmétique plus clair par exemples
fonctions comme :
qui permet d'afficher une heure décimale en HMS.
A lire sur les problématiques de traitement des date/heures :
http://sqlpro.developpez.com/Planning/SQL_PLN.html
A +
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Loïc a écrit:
> Bonjour,
>
> Connaissez vous un site concernant SQL Server est de façon plus
> les manipulation de donnée de type DateTime.
>
> Je dois sommer des heures et ma solution semble être non optimisée ni
> pratique, (addition des minutes et des heures en utilisant datepart :())
> !!!!.
>
> Merci d'avance
> Loïc
>
>