Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Vérifier si la date tombe entre la date de début et la date de fin de la ligne précédente

Vous pouvez le faire en utilisant lag() dans SQL Server 2012+. Dans SQL Server 2008, je recommanderais une join :

select s.*,
       (case when s.start between s2.start and s2.end then 1 else 0 end) as flg
from sample s left outer join
     sample sprev
     on s.id = sprev.id + 1;