sql server中 给定日期的上一周的星期二

基于项目的需要,需要获得给定日期的上一周的星期二,并且将时间改正 17:00:00

1 select dateadd(day, 3-datepart(weekday,DATEADD(DD,-7,GETDATE())),DATEADD(DD,-7,GETDATE()))

这里,只要将getDate90 方法换成给定的日期就可以了。

再次,获得得到日期的年月日,和时分秒拼接

1 convert(char(10) ,dateadd(day, 3-datepart(weekday,DATEADD(DD,-7,GETDATE())),DATEADD(DD,-7,GETDATE())) , 120) + '17:00:00'

这样就获得了你需要的时间的字符串格式,接着将其转化成日期格式

convert(varchar(24),convert(char(10) ,dateadd(day, 3-datepart(weekday,DATEADD(DD,-7,GETDATE())),DATEADD(DD,-7,GETDATE())) , 120) + '17:00:00',120)

得到的结果就是所需要的日期格式了

1 select CAST(convert(char(10) ,dateadd(day, 3-datepart(weekday,DATEADD(DD,-7,GETDATE())),DATEADD(DD,-7,GETDATE())) , 120) + ' 17:00:00' as datetime)

 

 

posted @ 2014-03-24 15:48  endy_zhu  阅读(390)  评论(0编辑  收藏  举报