Hello,
J'effectue une requête avec une clause WHERE sur un champ de type DateTime. il s'agit pour moi de trouver la dernière date de changement d'horaire par rapport à une date passée en paramètre.
Je ne trouve pas l'erreur de syntaxe dans ma requete sous SQL Server qui fait que mon retour est différent de celui sous Access:
Données dans la table
ID_COUNTRY DT_SUMMER_TIME_BEGIN AM_JETLAG_OFFSET
1 27/03/2011 -1
1 30/10/2011 0
Code SQL Server
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part SELECT TOP 1 DT_SUMMER_TIME_BEGIN, Cast(AM_JETLAG_OFFSET AS Integer) AS RESULT FROM OLY_SUMMER_TIME WHERE ID_COUNTRY=1 AND DT_SUMMER_TIME_BEGIN<'2011-08-1' ORDER BY DT_SUMMER_TIME_BEGIN DESC
Retour DT_SUMMER_TIME_BEGIN : 30/10/2011 (j'ai déjà du mal à trouver pourquoi une date > 01/08/2011)
Code Access
Retour DT_SUMMER_TIME : 27/03/2011 ce qui est la réponse attendue selon ma logique de requete :/
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT TOP 1 DT_SUMMER_TIME_BEGIN, AM_JETLAG_OFFSET AS RESULT FROM dbo_OLY_SUMMER_TIME WHERE ID_COUNTRY=1 AND DT_SUMMER_TIME_BEGIN<#2011/08/01# ORDER BY DT_SUMMER_TIME_BEGIN DESC
Sauriez-vous m'indiquer quelle syntaxe de date je dois utiliser pour résoudre ce problème svp ?
Partager