Comment écrire une requête qui utilise l'atsortingtion du time (par exemple dans un jour, dans les 2 jours)?

I 2 tables: Activer Désactiver

Chacune de ces tables est liée à DateId à une table de dates qui stocke leurs dates.

Comment est-ce que j'écrirais une requête afin que je puisse get des rangées dans la table de désactivation qui a désactivé dans 1, 2 ou 3 jours d'avoir une input dans la table d'autorisation?

Merci pour l'aide

Utilisez DATEDIFF ! Cela fonctionne très bien, et vous renvoie la différence de dates.

 select * from disable d inner join enable e on d.Id = e.Id where datediff(day, e.DateId, d.DateId) between 1 and 3 

Vous pouvez également l'utiliser pour toute différence que vous souhaitez. DATEDIFF peut aussi revenir en arrière, donc vous pourriez faire des datediff(day, d.DateId, e.DateId) between -3 and -1 , si cela vous a plu.