SQL Datepart où Clause ne fonctionne pas

J'ai un problème avec la fin d'une requête compliquée:

SQLSsortingng = "SELECT i.CONCOM, COALESCE(SUM(CASE WHEN C.CATEGORY_ID = '30' THEN 0 ELSE t.LOGMINS END), 0) AS TotalWithoutNew, COALESCE(SUM(t.LOGMINS), 0) AS TotalAllId FROM Inquiry AS i INNER JOIN TIMELOG AS t ON t.INQUIRY_ID = i.INQUIRY_ID INNER JOIN PROD AS P ON i.PROD_ID = P.PROD_ID INNER JOIN CATEGORY AS C ON P.CATEGORY_ID = C.CATEGORY_ID WHERE (DATEPART(m, ESCDATE) = " & objmonth & ") AND (DATEPART(y, ESCDATE) = " & objyear & ") GROUP BY i.CONCOM ORDER BY concom ASC" 

La requête fonctionne correctement sans la clause where mais lorsque je mets la clause where dedans, elle ne renvoie rien. ESCDATE est un champ DATETIME. Je pensais d'abord qu'il ne lui transmettait pas d'entiers mais des strings, et c'est définitivement des entiers qui passent.

Plus haut dans le script ASP j'utilise Request.Queryssortingng pour get un mois et une année et je veux fondamentalement vérifier par rapport à la date ESC qu'il ne fait que ramener les résultats du mois spécifié dans l'année spécifiée.

Le spécificateur «y» est le jour de l'année et non l'année. Essayez plutôt «yy» ou «yyyy».