我在某些時期的比較邏輯有一些問題。 我有我的數據庫中的表看起來像這樣:SQL日期,期間比較
Id|startDate |amount of weeks|
--------------------------------
A1|2010-01-04 | 3
B3|2010-01-11 | 2
所有startDates開始在每週的同一天(星期一)
現在我需要編寫一個SQL在那裏我有2個參數(一個開始日期和一個新的「週期」的週數),我需要檢查並返回所有startdate相同的行。但是,所有的究竟是誰是新的「期」的範圍之內的行應藏漢
一些例子返回澄清這一點:
- when I give the following parameters (2010-01-04,1) I would need to have row 1 with id A1 returned
- (2010-01-11,1) ---> return A1,B3
- (2009-12-28,1) ---> return nothing
- (2009-12-28,2) ---> return A1
- (2010-01-18,1) ---> return A1,B3
現在我知道如何與參數等工作,所以我basicly需要一些幫助建立sql的邏輯。
SELECT ID FROM表,其中的startDate = {0}或的startDate = {1} .....
我正在一個SQL服務器上(但我認爲非方言SQL可以做的伎倆以及)
與2010-01-04作爲開始日期的週期有3個星期的持續時間,所以它仍然運行在2010-01-11的一週,所以它確定。需要返回這一行。無論如何 – Ayrton 2009-12-29 22:13:10
應該始終返回幾周具有相同開始日期的週數因此,我應該瞭解您希望返回:範圍內的任何日期在日期範圍內的任何記錄傳入? (日期範圍=開始日期到使用星期數計算的日期) – 2009-12-29 22:42:36
是和一段時間始終在星期一開始,並在星期日結束。因此,當我給出開始日期和週數作爲參數時,我應該得到在參數 – Ayrton 2009-12-29 22:47:57