Я ищу для сравнения двух даты-столбцов в SQL Server, например, у меня есть данные, какКак сравнить два значения даты-времени в SQL
TABLEA:
Start Date "2016-11-04 06:00:00.000"
End Date "2016-11-04 08:15:00.000"
И мне нужно, чтобы сравнить значение таблицы а с таблицей B, которая заключается в следующем
TableB:
Start Date "2016-11-01 02:30:00.000"
End Date "2016-11-30 08:00:00.000"
Ожидается, что он не должен совпадать, поскольку конечная дата в TableB больше, чем конечная дата таблицы A.
До сих пор я пробовал, но это не возвращает мне желаемого результата.
(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)
Любая идея, что я здесь отсутствует ..
С уважением,
Можете ли вы привести пример двух наборов полей datetime, которые должны соответствовать вашему определению «match?»? –
(TableA.StartDate = TableB.startdatetime AND TableA.EndDate = TableB.EndDate) будет истинным, если соответствующие значения start и enddates равны. Помещение НЕ впереди вернет true, если это не так. –
У вас есть две границы дат, что означает, что существует шесть разных способов, которыми они могут быть связаны: 1. Один период полностью предшествует другому; 2. один период перекрывает время начала; 3 Один период перекрывает время окончания; 4. Один период полностью в течение другого периода; 5. Периоды прекрасно сочетаются; 6. Один период полностью после второго периода. Ваш пример - номер 4. Что именно вы пытаетесь сопоставить? –