兩個日期時間值進行比較,我希望在SQL Server的比較兩個datetime列,例如,我有一個像如何在SQL
數據表A:
Start Date "2016-11-04 06:00:00.000"
End Date "2016-11-04 08:15:00.000"
,我需要比較與表B表A的值,它是如下
表B:
Start Date "2016-11-01 02:30:00.000"
End Date "2016-11-30 08:00:00.000"
期望它不應該匹配,因爲TableB中的結束日期大於TableA的結束日期。
到目前爲止,我試過的是,但它沒有返回我想要的結果。
(TableA.StartDate BETWEEN TableB.startdatetime AND TableB.enddatetime)
OR (TableA.EndDate BETWEEN TableB.startdatetime AND TableB.enddatetime)
OR (TableB.startdatetime BETWEEN TableA.StartDate AND TableB.enddatetime)
OR (TableB.enddatetime BETWEEN TableA.StartDate AND TableB.enddatetime)
任何想法,我很想念這裏..
問候,
你可以舉兩個日期時間字段的例子,它們將會滿足你對「匹配」的定義嗎? –
(TableA.StartDate = TableB.startdatetime AND TableA.EndDate = TableB.EndDate)將爲true,如果相應的開始和結束相等。如果不在前面,將不會返回true。 –
你有兩個日期界限,這意味着他們可以關聯六種不同的方式:1.一個階段完全在另一個階段之前; 2.一個時期與開始時間重疊; 3一個時期與一個結束時間重疊; 4.一個時期完全在另一時期內; 5.時期完美匹配; 6.一個時期完全是在第二個時期之後。你的例子是4號。你究竟想要匹配什麼? –