我在sql server中有一个dateTime变量..我有以下代码检查周末,然后减去周五的日子。现在,我还想将这个新DateTime的时间设置为星期五下午5点。有人可以告诉我我该如何实现。
if(DATENAME(DW, @EndDate) = 'Sunday')
Begin
Set @EndDate = (SELECT DATEADD(DAY, -2, @EndDate))
End
if(DATENAME(DW, @EndDate) = 'Saturday')
Begin
Set @EndDate = (SELECT DATEADD(DAY, -1, @EndDate))
End
End
谢谢
您可以添加17小时:
Set @EndDate = DATEADD(HOUR, 17, DATEADD(DAY, -1, @EndDate))
我不知道为什么您使用子查询将此逻辑错。这不是必需的。
如果您的数据已经具有时间组件,则首先施放到date
以摆脱时间组件,然后返回到datetime
:
Set @EndDate = DATEADD(HOUR, 17, DATEADD(DAY, -1, CONVERT(datetime, CONVERT(DATE, @EndDate))))
选择cast(convert(varchar(12),getDate()) '17:00'作为dateTime)