J'ai besoin d'afficher datetime
lorsque je sélectionne uniquement la date et l'heure. Parce que j'essaie d'exécuter SQL mais afficher tout datetime
.Comment afficher datetime sélectionner uniquement dans Sql Server?
Tableau Emp
:
EmpNo fullName
00001 Midna
00002 Klog
00003 Porla
00004 Seka
00005 Mila
Tableau tFile
:
EmpNo cDate cTime
00001 2012-10-29 00:00:00.000 2012-10-29 07:52:00.000
00001 2012-10-29 00:00:00.000 2012-10-29 19:00:00.000
00002 2012-10-29 00:00:00.000 2012-10-29 07:40:00.000
00002 2012-10-29 00:00:00.000 2012-10-29 19:32:00.000
00005 2012-10-29 00:00:00.000 2012-10-29 07:58:00.000
00005 2012-10-29 00:00:00.000 2012-10-29 18:35:00.000
Ce code
SELECT
em.EmpNo as 'EmpNo',
case
when tf.cDate <> null then tf.cDate
else coalesce(tf.cDate, '2012-10-29')
end as 'cDate',
Min(tf.cTime) as 'timeIn',
Max(tf.cTime) as 'timeOut'
FROM
tFile tf
Full Outer join
Emp em On tf.EmpNo = em.EmpNo
Group By
em.EmpNo,tf.cDate
Order By
'EmpNo'
renvoie ce résultat:
EmpNo cDate timeIn timeOut
-------------------------------------------------------------------------------------
00001 2012-10-21 00:00:00.000 2012-10-21 07:22:00.000 2012-10-21 17:35:00.000
00001 2012-10-24 00:00:00.000 2012-10-24 07:30:00.000 2012-10-24 19:00:00.000
00001 2012-10-29 00:00:00.000 2012-10-29 07:52:00.000 2012-10-29 19:00:00.000
00002 2012-10-25 00:00:00.000 2012-10-25 07:58:00.000 2012-10-25 18:35:00.000
00002 2012-10-22 00:00:00.000 2012-10-22 08:04:00.000 2012-10-22 17:55:00.000
00002 2012-10-24 00:00:00.000 2012-10-24 08:00:00.000 2012-10-24 18:45:00.000
00002 2012-10-29 00:00:00.000 2012-10-29 07:40:00.000 2012-10-29 19:32:00.000
00003 2012-10-29 00:00:00.000 NULL NULL
00004 2012-10-29 00:00:00.000 NULL NULL
00005 2012-10-28 00:00:00.000 2012-10-28 07:30:00.000 2012-10-28 19:20:00.000
00005 2012-10-27 00:00:00.000 2012-10-27 07:38:00.000 2012-10-27 19:30:00.000
00005 2012-10-29 00:00:00.000 2012-10-29 07:58:00.000 2012-10-29 18:35:00.000
Mais j'ai besoin de ce résultat:
Je sélectionne la date ex. 2012-10-29
alors j'ai besoin de montrer toutes les lignes avec 2012-10-29
seulement.
Mais certains Empno
n'ont pas de données dans 2012-10-29
il est défini sur NULL.
EmpNo cDate timeIn timeOut
---------------------------------------------------------------------------------------
00001 2012-10-29 00:00:00.000 2012-10-29 07:52:00.000 2012-10-29 19:00:00.000
00002 2012-10-29 00:00:00.000 2012-10-29 07:40:00.000 2012-10-29 19:32:00.000
00003 2012-10-29 00:00:00.000 NULL NULL
00004 2012-10-29 00:00:00.000 NULL NULL
00005 2012-10-29 00:00:00.000 2012-10-29 07:58:00.000 2012-10-29 18:35:00.000
Merci pour votre temps. :)
utilisation 'cast (AS nomchamp date)' pour récupérer uniquement la partie date. –