Sql server 2008 r2 如何防止smallDateTime中的秒舍入

Sql server 2008 r2 如何防止smallDateTime中的秒舍入,sql-server-2008-r2,Sql Server 2008 R2,在使用SQL Server多年之后,我今天才注意到它如何将SmallDateTime值舍入到最接近的分钟(真不敢相信我以前没有注意到这一点!)。我想储存秒数,我如何才能做到这一点 我正在使用SQL Server 208R2。如果这是我的查询中的值: 2014-08-11 09:15:22 它在表中结束,如下所示: 2014-08-11 09:15:00 -定义与一天中某个时间组合的日期。时间以24小时为基础,秒始终为零(:00),不含小数秒。如果需要秒,请不要使用SMALLDATETIME

在使用SQL Server多年之后,我今天才注意到它如何将
SmallDateTime
值舍入到最接近的分钟(真不敢相信我以前没有注意到这一点!)。我想储存秒数,我如何才能做到这一点

我正在使用SQL Server 208R2。如果这是我的查询中的值:

2014-08-11 09:15:22
它在表中结束,如下所示:

2014-08-11 09:15:00 

-定义与一天中某个时间组合的日期。时间以24小时为基础,秒始终为零(:00),不含小数秒。如果需要秒,请不要使用
SMALLDATETIME
。对于SQL Server 2008及更高版本,我建议使用
DATETIME2(n)
,它允许您定义所需秒数的小数位数,并且精确到100ns(而不是像旧的
DATETIME
)那样的3.33ms)。因此,我认为如果数据类型无法更改,则无法捕获秒数。谢谢你的建议。