Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

DateAdd() ?

6 réponses
Avatar
olivier
bonjour,

j'ai une table :
id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME

comment avoir le total des heures cumulées de cours de chaque élèves ?

j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de DateAdd() ?

comment faire ?
merci

6 réponses

Avatar
Med Bouchenafa
Pourquoi avoir stocké cela sous forme DATETIME alors qu'un INT aurait mieux
fait l'affaire
Je ne sais pas comment tu as socké cette valeur mais tu peux toujours faire
un essai avec un SUM
Si tu as stocké en jours additionnés á une date de reference ( 1er janvier
2005 par exemple)
Dans ce cas, utilise une requete de ce type

SELECT nom_eleve, SUM( DATEDIFF(d, '20050101', duree_cours ) )
FROM ....
GROUP BY nom_eleve

bien cordialement
Med bouchenafa

"olivier" wrote in message
news:%
bonjour,

j'ai une table :
id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME

comment avoir le total des heures cumulées de cours de chaque élèves ?

j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de DateAdd()
?

comment faire ?
merci




Avatar
olivier
bonjour

c'est la durée en heures cumulées que je cherche..

par ex le lundi l'élève a deux cours de 1h30
le mardi trois cours de 2h00
le mercredi 1 cours de 2h30

total = 3 h + 6 h + 2h30= 11h30 heures de cours cumulés

dis moi si je suis pas clair dans mes explications ?

merci
olivier



"Med Bouchenafa" a écrit dans le message de news:

Pourquoi avoir stocké cela sous forme DATETIME alors qu'un INT aurait
mieux fait l'affaire
Je ne sais pas comment tu as socké cette valeur mais tu peux toujours
faire un essai avec un SUM
Si tu as stocké en jours additionnés á une date de reference ( 1er janvier
2005 par exemple)
Dans ce cas, utilise une requete de ce type

SELECT nom_eleve, SUM( DATEDIFF(d, '20050101', duree_cours ) )
FROM ....
GROUP BY nom_eleve

bien cordialement
Med bouchenafa

"olivier" wrote in message
news:%
bonjour,

j'ai une table :
id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME

comment avoir le total des heures cumulées de cours de chaque élèves ?

j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de
DateAdd() ?

comment faire ?
merci







Avatar
Patrice
Ce qui n'est pas clair c'est que la durée est stockée sous forme d'une date
ce qui ensuite complique un peu les raisonnements...

Doù la suggestion de Med de stocker par exemple la durée sous forme d'un
nombre (en minutes par exemple) a moins que SQL Server 2008 (si tu
l'utilitises puisse faire qq chose pour toi avec un nouveau type de donnée
?)

Sinon même principe que celui expliqué par Med avec hour au lieu de d pour
le calcul des différences par rapport à la date de base...

--
Patrice

"olivier" a écrit dans le message de groupe de discussion :

bonjour

c'est la durée en heures cumulées que je cherche..

par ex le lundi l'élève a deux cours de 1h30
le mardi trois cours de 2h00
le mercredi 1 cours de 2h30

total = 3 h + 6 h + 2h30= 11h30 heures de cours cumulés

dis moi si je suis pas clair dans mes explications ?

merci
olivier



"Med Bouchenafa" a écrit dans le message de news:

Pourquoi avoir stocké cela sous forme DATETIME alors qu'un INT aurait
mieux fait l'affaire
Je ne sais pas comment tu as socké cette valeur mais tu peux toujours
faire un essai avec un SUM
Si tu as stocké en jours additionnés á une date de reference ( 1er
janvier 2005 par exemple)
Dans ce cas, utilise une requete de ce type

SELECT nom_eleve, SUM( DATEDIFF(d, '20050101', duree_cours ) )
FROM ....
GROUP BY nom_eleve

bien cordialement
Med bouchenafa

"olivier" wrote in message
news:%
bonjour,

j'ai une table :
id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME

comment avoir le total des heures cumulées de cours de chaque élèves ?

j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de
DateAdd() ?

comment faire ?
merci











Avatar
Med Bouchenafa
Si tu nous disais comment tu inseres des donnees, cela aiderait beaucoup
Par exemple, dis nous ce qui est stocke dans la colonne duree_cours pour un
eleve ayant

le mardi trois cours de 2h00
le mercredi 1 cours de 2h30

bien cordialement
Med bouchenafa

"Patrice" <http://www.chez.com/scribe/> wrote in message
news:
Ce qui n'est pas clair c'est que la durée est stockée sous forme d'une
date ce qui ensuite complique un peu les raisonnements...

Doù la suggestion de Med de stocker par exemple la durée sous forme d'un
nombre (en minutes par exemple) a moins que SQL Server 2008 (si tu
l'utilitises puisse faire qq chose pour toi avec un nouveau type de donnée
?)

Sinon même principe que celui expliqué par Med avec hour au lieu de d pour
le calcul des différences par rapport à la date de base...

--
Patrice

"olivier" a écrit dans le message de groupe de discussion :

bonjour

c'est la durée en heures cumulées que je cherche..

par ex le lundi l'élève a deux cours de 1h30
le mardi trois cours de 2h00
le mercredi 1 cours de 2h30

total = 3 h + 6 h + 2h30= 11h30 heures de cours cumulés

dis moi si je suis pas clair dans mes explications ?

merci
olivier



"Med Bouchenafa" a écrit dans le message de
news:
Pourquoi avoir stocké cela sous forme DATETIME alors qu'un INT aurait
mieux fait l'affaire
Je ne sais pas comment tu as socké cette valeur mais tu peux toujours
faire un essai avec un SUM
Si tu as stocké en jours additionnés á une date de reference ( 1er
janvier 2005 par exemple)
Dans ce cas, utilise une requete de ce type

SELECT nom_eleve, SUM( DATEDIFF(d, '20050101', duree_cours ) )
FROM ....
GROUP BY nom_eleve

bien cordialement
Med bouchenafa

"olivier" wrote in message
news:%
bonjour,

j'ai une table :
id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME

comment avoir le total des heures cumulées de cours de chaque élèves ?

j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de
DateAdd() ?

comment faire ?
merci














Avatar
olivier
bonjour,

exemple le 01/01/2008 pour un cour a 10h00 pendant 2h

champs DATE_COURS : 01/01/2008 00:00:00
champs HEURE_COURS : 01/01/2008 10:00:00
champs DUREE : 01/01/2008 02:00:00

bon ok, après reflexion, c'est peut être pas super top comme méthode mais je
reflechirai plus tard a changer de mtéhode mais les base sont déja en prod
alors faudra que je fasse gaffe.
en attendatn, j'aurais besoin d'une réponse si possible

merci a vous



"Med Bouchenafa" a écrit dans le message de news:

Si tu nous disais comment tu inseres des donnees, cela aiderait beaucoup
Par exemple, dis nous ce qui est stocke dans la colonne duree_cours pour
un eleve ayant

le mardi trois cours de 2h00
le mercredi 1 cours de 2h30

bien cordialement
Med bouchenafa

"Patrice" <http://www.chez.com/scribe/> wrote in message
news:
Ce qui n'est pas clair c'est que la durée est stockée sous forme d'une
date ce qui ensuite complique un peu les raisonnements...

Doù la suggestion de Med de stocker par exemple la durée sous forme d'un
nombre (en minutes par exemple) a moins que SQL Server 2008 (si tu
l'utilitises puisse faire qq chose pour toi avec un nouveau type de
donnée ?)

Sinon même principe que celui expliqué par Med avec hour au lieu de d
pour le calcul des différences par rapport à la date de base...

--
Patrice

"olivier" a écrit dans le message de groupe de discussion :

bonjour

c'est la durée en heures cumulées que je cherche..

par ex le lundi l'élève a deux cours de 1h30
le mardi trois cours de 2h00
le mercredi 1 cours de 2h30

total = 3 h + 6 h + 2h30= 11h30 heures de cours cumulés

dis moi si je suis pas clair dans mes explications ?

merci
olivier



"Med Bouchenafa" a écrit dans le message de
news:
Pourquoi avoir stocké cela sous forme DATETIME alors qu'un INT aurait
mieux fait l'affaire
Je ne sais pas comment tu as socké cette valeur mais tu peux toujours
faire un essai avec un SUM
Si tu as stocké en jours additionnés á une date de reference ( 1er
janvier 2005 par exemple)
Dans ce cas, utilise une requete de ce type

SELECT nom_eleve, SUM( DATEDIFF(d, '20050101', duree_cours ) )
FROM ....
GROUP BY nom_eleve

bien cordialement
Med bouchenafa

"olivier" wrote in message
news:%
bonjour,

j'ai une table :
id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME

comment avoir le total des heures cumulées de cours de chaque élèves ?

j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de
DateAdd() ?

comment faire ?
merci

















Avatar
Med Bouchenafa
SELECT nom_eleve, SUM( DATEDIFF(h, DATE_COURS , DUREE ) )
FROM ....
GROUP BY nom_eleve

--
Bien cordialement
Med Bouchenafa


"olivier" a écrit :

bonjour,

exemple le 01/01/2008 pour un cour a 10h00 pendant 2h

champs DATE_COURS : 01/01/2008 00:00:00
champs HEURE_COURS : 01/01/2008 10:00:00
champs DUREE : 01/01/2008 02:00:00

bon ok, après reflexion, c'est peut être pas super top comme méthode mais je
reflechirai plus tard a changer de mtéhode mais les base sont déja en prod
alors faudra que je fasse gaffe.
en attendatn, j'aurais besoin d'une réponse si possible

merci a vous



"Med Bouchenafa" a écrit dans le message de news:

> Si tu nous disais comment tu inseres des donnees, cela aiderait beaucoup
> Par exemple, dis nous ce qui est stocke dans la colonne duree_cours pour
> un eleve ayant
>
> le mardi trois cours de 2h00
> le mercredi 1 cours de 2h30
>
> bien cordialement
> Med bouchenafa
>
> "Patrice" <http://www.chez.com/scribe/> wrote in message
> news:
>> Ce qui n'est pas clair c'est que la durée est stockée sous forme d'une
>> date ce qui ensuite complique un peu les raisonnements...
>>
>> Doù la suggestion de Med de stocker par exemple la durée sous forme d'un
>> nombre (en minutes par exemple) a moins que SQL Server 2008 (si tu
>> l'utilitises puisse faire qq chose pour toi avec un nouveau type de
>> donnée ?)
>>
>> Sinon même principe que celui expliqué par Med avec hour au lieu de d
>> pour le calcul des différences par rapport à la date de base...
>>
>> --
>> Patrice
>>
>> "olivier" a écrit dans le message de groupe de discussion :
>>
>>> bonjour
>>>
>>> c'est la durée en heures cumulées que je cherche..
>>>
>>> par ex le lundi l'élève a deux cours de 1h30
>>> le mardi trois cours de 2h00
>>> le mercredi 1 cours de 2h30
>>>
>>> total = 3 h + 6 h + 2h30= 11h30 heures de cours cumulés
>>>
>>> dis moi si je suis pas clair dans mes explications ?
>>>
>>> merci
>>> olivier
>>>
>>>
>>>
>>> "Med Bouchenafa" a écrit dans le message de
>>> news:
>>>> Pourquoi avoir stocké cela sous forme DATETIME alors qu'un INT aurait
>>>> mieux fait l'affaire
>>>> Je ne sais pas comment tu as socké cette valeur mais tu peux toujours
>>>> faire un essai avec un SUM
>>>> Si tu as stocké en jours additionnés á une date de reference ( 1er
>>>> janvier 2005 par exemple)
>>>> Dans ce cas, utilise une requete de ce type
>>>>
>>>> SELECT nom_eleve, SUM( DATEDIFF(d, '20050101', duree_cours ) )
>>>> FROM ....
>>>> GROUP BY nom_eleve
>>>>
>>>> bien cordialement
>>>> Med bouchenafa
>>>>
>>>> "olivier" wrote in message
>>>> news:%
>>>>> bonjour,
>>>>>
>>>>> j'ai une table :
>>>>> id INT , nom_eleve VARCHAR(10) , duree_cours DATETIME
>>>>>
>>>>> comment avoir le total des heures cumulées de cours de chaque élèves ?
>>>>>
>>>>> j'ai regarde sur le net mais je n'ai pas trouvé, meme du coté de
>>>>> DateAdd() ?
>>>>>
>>>>> comment faire ?
>>>>> merci
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>