SQL-Automatically Bucketize所有日期到星期一星期一 -

时间:2013-07-29 19:13:59

标签: sql datetime sql-update

全部 - 我希望自动将某个日期字段标准化为该周的星期一日期。基本上,如果一个条目在2013年7月30日星期二的这个字段中出现了日期 - 我希望将其标准化为2013年7月30日星期一。我希望能够将其应用于某个列,其中条目可能在单独的列中具有多个日期。

谢谢!

2 个答案:

答案 0 :(得分:0)

如果您想要本周的星期一,可以在SQL Server中使用以下内容:

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

根据所需的行为,您可能必须使用SET DATEFIRST 2来调整行为。

答案 1 :(得分: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
}
不知道你正在使用什么技术,但也许这样的东西会起作用?