Bonjour

J'ai un soucis avec cette requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
select S.server_id as nserveur, S.last_outcome_message as message,J.name,  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) date_heure_derniere_execution, convert( varchar,stuff( stuff( replicate ('0', 6 - len (convert(varchar,last_run_duration )) ) + convert(varchar, last_run_duration ), 3, 0 , ':') , 6, 0 , ':' ) , 108) duree 
                         from sysjobservers S
                        inner join sysjobs J on J.job_id = S.job_id"_&
                                                                              where S.last_run_outcome <>1
Je travaille sous sqlserver 2005 J'interroge la base de données système msdb donc vous pouvez la tester sous sqlserveur.
Mon problème se situe dans la ligne du select au niveau des convert. Les champs "last_run_date" , "last_run_time" et "last_run_duration" correspondent à des dates ou des durées. Par exemple pour aujourd'hui (11/04/2011):
last_run_date aura pour valeur 11020411.

J'utilise des convert et des stuff pour que la date soit affichée comme cela 11-04-2011, mais ça ne fonctionne pas. Il y a peut être un autre moyen?