在SQL Server中更新DateTime的时间部分



我在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)

最新更新