pour la FAQ : conversion en DATETIME pour heure et date en INT
Sous MS SQL Server 2005, quand on consulte les tables systèmes relatives aux jobs, on a les dates et heures sous format INT (!!!?).
Voici une façon de récupérer la conversion en DATETIME.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| select last_run_date
, last_run_time
, convert( datetime, convert( varchar , last_run_date ), 112 )
+ convert( datetime, stuff( stuff(
replicate ('0', 6 - len (convert(varchar, last_run_time )) )
+ convert(varchar, last_run_time )
, 3, 0 , ':') , 6, 0 , ':' ) , 108) last_run_datetime
from msdb.dbo.sysjobservers
last_run_date last_run_time last_run_datetime
------------- ------------- -----------------------
20080824 235506 2008-08-24 23:55:06.000
20100517 111326 2010-05-17 11:13:26.000
20101028 73003 2010-10-28 07:30:03.000
20101028 14000 2010-10-28 01:40:00.000
20101028 100 2010-10-28 00:01:00.000
20101028 0 2010-10-28 00:00:00.000 |
C'est sûr que ce n'est pas quelque chose qui requiert beaucoup de compétence, juste de la rigueur, on est d'accord, mais si ça permet à certain de gagner 20 minutes, c'est toujours ça de pris...
Et en plus, ça fera un endroit où je pourrais retrouver ma bidouille !
Il doit y avoir plus performant et il est aussi possible de mettre ça dans une fonction, mais pour mon besoin du moment, je n'ai pas besoin d'aller plus loin aujourd'hui.