SQL Server T-Sql Конвертировать время файла в дату и время - PullRequest
2 голосов
/ 07 декабря 2009

Мне нужно преобразовать значение поля 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 (положительное значение, которое работает)

1 Ответ

1 голос
/ 07 декабря 2009

CASE WHEN LastModifiedTime <= 1, ТОЛЬКО NULL </p>

Он делает то, что вы сказали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...