基于项目的需要,需要获得给定日期的上一周的星期二,并且将时间改正 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)