-1

T-sql SmallDateTime 添加时间过去的日期 23:30

declare @sampledate DateTime
set @sampledate='2020-09-18 23:59:53'
select  @sampledate AS Date,
       CAST(@sampledate as DATE) AS CAST_Date,
       CAST(@sampledate as SmallDateTime) CAST_smalldatetime,
   CONVERT(SmallDateTime,@sampledate) Convert_smalldatetime
4

3 回答 3

1

转换datetime为 时smalldatetime,SQL 会以秒为单位对分钟进行四舍五入。计算得出,23:59:29.998 及以下将向下舍入到 23:59,而 23:59:29.999 及以上将舍入到明天。

但这能回答你的问题吗?

于 2020-09-21T20:04:26.173 回答
0

这是预期的行为。查看MS DocsTime range中的属性。

2007-05-09 23:59:59 将四舍五入为 2007-05-10 00:00:00

于 2020-09-21T20:13:17.443 回答
0

增加 30 分钟并转换为日期怎么样?

convert(date, dateadd(minute, 30, @sampledate)
于 2020-09-21T19:55:36.430 回答