Мне нужно преобразовать значение поля filetime в формат datetime через t-sql в SQL Server
Для этого я применил следующую формулу, которая отлично работает для положительных значений (> 0). Но почему-то эта формула не работает для отрицательных значений и возвращает нулевое значение.
SELECT LastModifiedTime,
CASE WHEN LastModifiedTime <= 1 THEN NULL
ELSE DATEADD(ms,
((LastModifiedTime) / CAST(10000 AS bigint)) % 86400000,
DATEADD(day, (LastModifiedTime) / CAST(864000000000 AS bigint) - 109207, 0))
END AS Expr1
FROM TableName
Пример значения, которое я пробовал:
- -9094352270227314699 (отрицательное значение, которое не сработало)
- 129046581660000000 (положительное значение, которое работает)