Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Sprawdź, czy data przypada między datą rozpoczęcia a datą zakończenia poprzedniego wiersza

Możesz to zrobić za pomocą lag() w SQL Server 2012+. W SQL Server 2008 polecam 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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wpływ aplikacji na migrację z serwera sql 2005 do 2008

  2. Jak użyć pola obliczeniowego w innym polu tego samego zapytania

  3. Błąd systemu operacyjnego SQL Server 5:5 (odmowa dostępu).

  4. Typ danych zdefiniowany przez użytkownika i #temp table

  5. Usuń końcowe zera z dziesiętnych w SQL Server