您好我有一個具有以下字段的表:SQL - 排除某些時段
person
from_dt
to_dt
house_num
它描述了一個人住在什麼門牌號碼,並給出了from_dt和to_dt。該from_dt追溯到2000-01-01和to_dt日期2012-01-01
問題:
我只想選擇誰已經活了2004年和2009年
之間的某一點人即排除然而人們喜歡
person from_dt to_dt house_num
-----------------------------------------
dave 2000-01-01 2002-01-01 34
保持這樣的人:
person from_dt to_dt house_num
-----------------------------------------
susan 2008-01-01 2009-06-01 93
我遇到了這裏的邏輯問題。有沒有人對我如何使用from_dt和to_dt提出任何建議,以便只包括2009年期間住在一天或更多天的人?
非常感謝。
請檢查[這個蘇答案(http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-交疊)。 – 2013-03-08 11:13:42
@Hogan確實如此。 OP想要「選擇在2004年到2009年之間曾經居住過的人」 - 因此,某人住在某個地址的範圍必須與範圍(20040101 - 20091231)重疊。 – 2013-03-08 11:21:10
@NikolaMarkovinović - 你的權利...沒關係 – Hogan 2013-03-08 11:24:01