ExempleMauvais rendement total?
Je veux calculer le temps de travail entre 09:00:00 à 18:00:00,
09:00:00 - Normal_Intime
18:00:00 - Normal_Outtime
On suppose
1) Intime is 10:00:00, Outtime is 17:00:00 It should give the output as 07:00:00
2) Intime is 08:00:00. Outtime is 19:00:00 It should give the output as 09:00:00
ci-dessus sortie devrait comparer avec Normal_Intime, Normal_Outtime. Les moyennes Normal_Intime est 09:00:00 seulement et Normal_Output est 18:00:00 seulement, donc Intime ne devrait pas> 09:00:00 et Outtime < 18:00:00.
Recherche
select Intime, Outtime, CONVERT(char(8), CASE WHEN OutTime > Normal_Outtime THEN cast(Normal_Outtime AS datetime) ELSE cast(OutTime AS datetime) END - CASE WHEN InTime > Normal_Intime THEN cast(InTime AS datetime) ELSE cast(Normal_Intime AS datetime) END, 8) AS WorkTime from table
Sortie
Intime Outtime Worktime
15:37:48 22:08:15 02:22:12
07:33:34 07:59:13 22:59:13
la deuxième rangée donnant la mauvaise sortie Il devrait donner seulement 00:25:39
Si les deux dans et hors du temps est plus petit que NormalInTime et Le délai d'entrée et de sortie est supérieur à NormalOutTime. Comment faire une condition pour cela
Comment faire une recherche pour cette condition.
Besoin d'aide pour la requête.
Comment allez-vous à "09:00:00" dans votre deuxième exemple? Quel est exactement le nombre que vous essayez d'obtenir censé exprimer? – Bombe
Votre exemple n'a pas de sens. Dans la deuxième rangée, les deux entrées et sorties sont plus petites que NormalInTime ... –
@astander. Que ce que j'ai demandé une condition à la fois pour l'entrée et la sortie est plus petit que NormalInTime et à la fois in et out est supérieur à NormalOutTime. Comment faire une condition pour cela. – Gopal