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.
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...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.
Partager