Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Überprüfen Sie, ob das Datum zwischen dem Startdatum und dem Enddatum der vorherigen Zeile liegt

Sie können dies mit lag() tun in SQL Server 2012+. In SQL Server 2008 würde ich einen join empfehlen :

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;