Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana saya bisa menentukan di SQL Server jika rentang dateTime tumpang tindih dengan yang lain?

Anda dapat melakukan seperti ini

declare @T table (ID int, startDateTime datetime, endDateTime datetime)

insert into @T values
(  1 , '2010-01-01 10:30:00' , '2010-01-01 11:00:00'),
(  2 , '2010-01-01 10:30:00' , '2010-01-01 11:30:00'),
(  3 , '2010-01-01 11:00:00' , '2010-01-01 11:30:00'),
(  4 , '2010-01-01 11:00:00' , '2010-01-01 12:00:00'),
(  5 , '2010-01-01 11:30:00' , '2010-01-01 12:00:00')

declare @startDateTime datetime
declare @endDateTime datetime


set @startDateTime = '2010-01-01 11:00:00'
set @endDateTime = '2010-01-01 11:30:00'

select *
from @T
where
  startDateTime < @endDateTime and
  endDateTime > @startDateTime



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa CTE lebih baik daripada kursor/tabel turunan/subqueries/tabel temp dll?

  2. Demystifying CXPACKET dan CXCONSUMER menunggu jenis di SQL Server

  3. Tambahkan kolom tabel baru ke posisi ordinal tertentu di Microsoft SQL Server

  4. Buat Tampilan Terikat Skema di SQL Server

  5. Fungsi yang Ditentukan Pengguna SQL Server