Привет, я пытаюсь вычислить разницу между двумя столбцами типа datetime2.
Однако SQL-серверу (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
Однако я теряю точность, когда привожу ее к дате и времени (обратите внимание на 3-значную точность выше). В этом случае мне действительно нужны все 5 десятичных знаков. Есть ли способ получить интервал между двумя столбцами datetime2 и при этом сохранить точность 5 знаков после запятой? Спасибо.