2013-07-29 106 views
0

所有 - 我期待自動標準化某個日期字段到當週的星期一日期。從本質上講,如果在2013年7月30日星期二的這個字段中輸入日期,我想將其標準化爲2013年7月30日星期一。我希望能夠將這個日期應用於某些列的條目在單獨列中可能有多個日期。SQL-自動Bucketize進入那個星期的所有日期星期一日期-

謝謝!

+0

你的意思是你想讓7月30日星期二成爲7月29日星期一?總是前一個星期一,還是星期天會成爲第二天? –

+1

在這裏回答http://stackoverflow.com/questions/3936844/finding-the-start-day-monday-of-the-current-week –

+0

這周是星期天 - 星期六,所以星期天將轉換爲NEXT星期一(第二天) - 任何其他日子將恢復到上週六。 – user2630872

回答

0

如果你想在本週的週一就可以使用SQL Server中的以下內容:

SELECT DateAdd (Day, 2 - DatePart (dw, YourDate), YourDate) 

根據所需的行爲,您可能需要使用SET DATEFIRST 2調整行爲。

0
List<List<myRecord>> recordList = new List<<myRecord>>(); 
List<DateTime> mondays = new List<DateTime>(); 
DateTime first = new DateTime(2013, 1, 30); 
DateTime last = new DateTime(2013, 7, 29); 

for (Date mon = first; mon <= last; mon = mon.AddDays(7)) { 
    recordList.Add(new List<myRecord>([SELECT * FROM myRecord WHERE myRecord.Date >= mon AND myRecord.Date < mon.AddDays(7)])) 
} 

foreach (List<myRecord> monList : recordList) { 
    //do stuff with each monday bucket 
} 

不知道你使用的是什麼技術,但也許這樣的事情會工作?

相關問題