SQL日期时间转换为特定的日子,如果在某些时间之间



我有一个日期时间记录字符串。我想创建一个case条件或if语句,读取datetime值并将其分配给特定的日期。

日期范围为2:45PM至第二天2:45PM。此范围将被视为"第二天"

交货。发布时间为3:42 PM 11/12/2016,因此读作11/13/2016。如果这篇文章是在2016年11月12日下午2:42发布的,那么这篇文章应该是2016年11月12日。

到目前为止,由于时间范围的限制,我不相信CONVERT(date, 'datetime')会工作。

谢谢

使用DATEADD函数为日期添加时间,使其达到第二天。对于2:45PM,您需要添加9:15。

我想我明白了…检查datetime时间值是否在2:45以上,如果是,则转换为日期并添加一天,否则转换为日期。

CASE
    WHEN    CAST (MAIN.TimeOfRftDecision AS Time) > '14:45:00' THEN DATEADD(dd,1,CONVERT (Date, MAIN.TimeOfRftDecision))
    ELSE    CONVERT (Date, MAIN.TimeOfRftDecision)
END AS 'DayOfRft'

相关内容

最新更新