类似于FR的DATEINWEEK函数 DATEINWEEK(date, number):函数返回在某一个星期当中第几天的日期。示例: dateInWeek("2008-08-28", 2)等于2008-08-26。 dateInWeek("2008-08-28", -1)等于2008-08-31。 如果最后一个参数为-1,返回该日期所在星期的最后一天 目前我已完成一部分,但是计算个别日期有问题,特别是跨年计算的时候; select dateadd(dd, DATEPART(wk,'2016-12-09') * 7 - datepart(dw, cast(2016 - 1 as varchar(4)) + '-12-31') + 1, cast(2016 as varchar(4))+'-01-01') 这样的结果就是2016-12-12,明显值错误了,应该是2016-12-05; 跨年的时候,输入值为2017-01-01,结果返回2017-02-02,应该是2016-12-26; 注意,我后面的+1,是取周一的日期; sql server数据库 编辑于 2017-8-28 09:36 |
最佳回答 |
||||
0
|
|