Bonjour,

Toujours dans mon souci de transformer mes anciennes requêtes MySQL en MS-SQL, j'ai du mal à trouver un équivalent à TO_DAYS.
J'ai trouvé datediff mais je n'arrive pas à l'appliquer. Le format de mon champ date_releve est aaaa-mm-jj et je ne comprends pas à quel format ça correspond.

Voici ma requête (MySQL) :

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
SELECT TOP 25 PARCS.CODE_PARC, PARCS.NO_IMMAT, 
PARCS.REFERENCE_CLIENT, MODELES.MODELE, ANNEXES.FORFAIT_KM_ANNEXE, 
( MAX(RELEVE_COMPTEUR.KM_DECLARE_RELEVE) - MIN(RELEVE_COMPTEUR.KM_DECLARE_RELEVE) ) as CUMUL_CONSOMME,
( ( MAX(RELEVE_COMPTEUR.KM_DECLARE_RELEVE) - MIN(RELEVE_COMPTEUR.KM_DECLARE_RELEVE) ) / ( TO_DAYS(MAX(RELEVE_COMPTEUR.DATE_RELEVE)) - TO_DAYS(MIN(RELEVE_COMPTEUR.DATE_RELEVE)) )*30 ) as CONSO_MENSUELLE,
( ( ( MAX(RELEVE_COMPTEUR.KM_DECLARE_RELEVE) - MIN(RELEVE_COMPTEUR.KM_DECLARE_RELEVE) ) / ( TO_DAYS(MAX(RELEVE_COMPTEUR.DATE_RELEVE)) - TO_DAYS(MIN(RELEVE_COMPTEUR.DATE_RELEVE)) )*30 ) / ANNEXES.FORFAIT_KM_ANNEXE*100 ) as SIMULATION 
FROM PARCS, CLIENTS, ANNEXES 
left join MODELES on MODELES.CODE_MODELE=PARCS.CODE_MODELE 
left join AGENCES on AGENCES.CODE_AGENCE=PARCS.CODE_AGENCE
LEFT JOIN RELEVE_COMPTEUR ON (PARCS.CODE_PARC=RELEVE_COMPTEUR.CODE_PARC) 
where CLIENTS.CODE_CLIENT in ('0001804**','0000900**','0000539**') 
and RELEVE_COMPTEUR.DATE_RELEVE >= ANNEXES.DATE_DEBUT_ANNEXE 
and ANNEXES.CODE_CLIENT=CLIENTS.CODE_CLIENT 
and ANNEXES.CODE_PARC=PARCS.CODE_PARC 
and RELEVE_COMPTEUR.CODE_PARC=PARCS.CODE_PARC 
and (ANNEXES.CODE_TYPE_ANNEXE in ('B','I','C','V'))
group by PARCS.CODE_PARC ORDER BY CODE_PARC asc
Merci à celui qui pourra m'expliquer le fonctionnement de DATEDIFF ou plutôt la façon de l'appliquer dans ce cas.