SQL Server 2008 TIME的精度可以降低到几小时和几分钟吗?

Dav*_*vid 6 sql precision time sql-server-2008

对于SQL Server 2008,time数据类型具有可选的精度参数(默认值为7).使用此功能,您可以控制存储和显示的小数位数.

DECLARE @time time(3)
SET @time = GETDATE()
PRINT @time
Run Code Online (Sandbox Code Playgroud)

上面会打印出这个,

10:47:25.347
Run Code Online (Sandbox Code Playgroud)

文档说最小的精度是time(0).这将存储和打印10:47:25.

是否有可能进一步降低精度,消除/零秒:10:47

我知道这可以手动完成,添加一个约束(DATEPART(seconds, @time) = 0),对数据输入执行数学运算以将秒数归零,并在打印时手动格式化,但我正在寻找一种简单的方法来将表中的字段定义为"小时"和分钟",与该date类型允许您将字段定义为"只是日期,没有时间组件"的方式非常相似.

Mit*_*eat 4

不可以。不可能time进一步降低数据类型的精度time(0)