/ / Comment puis-je récupérer les enregistrements des deux dernières années complètes et de l'année en cours dans SQL Server - SQL, serveur SQL, serveur SQL-2008-r2, msbi

Comment récupérer les enregistrements des deux dernières années complètes et de l'année en cours dans SQL Server - sql, sql-server, sql-server-2008-r2, msbi

J'ai l'expression suivante dans mon where clause:

DA.Access_Date >= DATEADD(YEAR, -2, GETDATE())

Mais il renvoie les données jusqu’au "2015-02-17", c’est-à-dire l’année en cours moins deux.

Je veux des données de deux années complètes et de l'année en cours

par exemple. 2015-01-01 à date. Toute contribution à ce sujet sera appréciée.

Réponses:

1 pour la réponse № 1

Essayez ceci: ici DATEADD(yy, DATEDIFF(yy,0,getdate()) donnera le mois de début de l'année

DA.Access_Date >= DATEADD(YEAR, -2, DATEADD(YY, DATEDIFF(YY,0,GETDATE()), 0))

0 pour la réponse № 2

Avec l'aide de ANNÉE fonction scalaire

WHERE
YEAR(DA.Access_Date) in (YEAR(GETDATE()),YEAR(GETDATE())-1,YEAR(GETDATE())-2)

0 pour la réponse № 3

Votre condition devrait être comme ci-dessous. DATEADD(YEAR,DATEDIFF(YEAR, 0, GETDATE())-2,0) cela reviendra le premier jour de 2015 année.

DA.Access_Date >=  DATEADD(YEAR,DATEDIFF(YEAR, 0, GETDATE())-2,0)

0 pour la réponse № 4

Il suffit de comparer l'année.

Essayer

YEAR(DA.Access_Date) >= (YEAR(GETDATE()) - 2)

0 pour la réponse № 5

Vous devriez essayer ceci dans quel état. Année (DA.Access_Date)> = Année (getdate ()) - 2