У меня есть SQL-запрос, возвращающий значение для x, которое является отметкой времени, сопоставленного с объектом C # типа long
:
SELECT DATEDIFF(second, { d '1970-01-01'}, dateCompleted) AS x
Вышеприведенное утверждение работает. Однако мне нужно получить метку времени, чтобы вернуть значение в миллисекундах, а не в секундах. В SQL Server 2016 я могу сделать это:
SELECT DATEDIFF_BIG(millisecond, { d '1970-01-01'}, dateCompleted) AS x
... и это прекрасно работает. Однако я застрял на SQL Server 2008 R2.
Я мог бы вернуть значения и выполнить некоторую постобработку в C #, чтобы умножить x на 1000, но мне было интересно, есть ли способ справиться с этим в самом запросе. Я пробовал простое умножение, но оно выдает Арифметическая ошибка переполнения :
SELECT DATEDIFF(second, { d '1970-01-01'}, dateCompleted) * 1000 AS x
Кто-нибудь может подсказать, как этого добиться?
Спасибо.