【发布时间】:2013-10-21 14:36:47
【问题描述】:
您好,我正在尝试计算 datetime2 类型的两列之间的差异。
但是 SQL Server (2012) 似乎不喜欢以下内容:
select cast ('2001-01-05 12:35:15.56786' as datetime2)
- cast ('2001-01-01 23:45:21.12347' as datetime2);
Msg 8117, Level 16, State 1, Line 2
Operand data type datetime2 is invalid for subtract operator.
现在,如果我将它转换为日期时间类型,它就可以工作了:
select cast (cast ('2001-01-05 12:35:15.56786' as datetime2) as datetime)
- cast (cast ('2001-01-01 23:45:21.12348' as datetime2) as datetime);
1900-01-04 12:49:54.443
但是,当我将其转换为 datetime 时,我失去了精度(请注意上面的 3 位小数精度)。在这种情况下,我实际上需要所有 5 个小数点。有没有办法获得两个 datetime2 列之间的间隔并且仍然保持 5 个小数点的精度?谢谢。
【问题讨论】:
标签: sql-server intervals datetime2