摘要:
使用datepart计算weekday时我们会发现默认sql server返回的数字总是比实际的数值大一,如:2012-12-18是星期二,使用select datepart(WEEKDAY,'2012-12-18');得到值总是3,这是由于sql server默认星期天作为一周的第一天引起的。有人简单指出在计算传值时只需要把当前日期减去一天就可以避免这个问题了,虽然这种方法很简单却有潜在的问题,例如:当我们计算某一天属于某一年的第几周时,会使用形如:select datepart(week,@Day);的方式进行查询,此时依然会存在以周日作为一周开始而引起的问题,如2013- 阅读全文