Я ищу способ преобразования BigInt во временное значение с использованием SQL, если это возможно. В нашей базе данных мы храним TimeSpan.Ticks в столбце, и мне нужно знать, сколько времени представляет каждое значение. Например, 3000000000 тиков равно 5 минутам. Мне нужно всего лишь минут для каждого IssueID. Вот SQL, который я написал, чтобы получить результаты:
SELECT i.IssueID, ia.TimeSpent
FROM IssueActivities ia
INNER JOIN Issues i ON ia.IssueID = i.IssueID
INNER JOIN IssueActivityTypes iat ON ia.IssueActivityTypeID = iat.IssueActivityTypeID
INNER JOIN AllPOCs apoc ON i.POCID = apoc.AllPOCID
INNER JOIN Users u ON ia.CreatedByUserID = u.UserID
WHERE i.issueid IN (41602, 41908)
AND ia.ActivityDate BETWEEN '03/05/2018 23:59:59' AND '03/06/2019 00:00:01'
ORDER BY ia.IssueID
Вот пример результатов
Я пытался преобразовать поле TimeSpent в DateTime CAST((ia.TimeSpent - 599266080000000000) / 10000000 / 24 / 60 / 60 AS DateTime)
, но я получаю это сообщение об ошибке Arithmetic overflow error converting expression to data type datetime.
Любые идеи о том, как я могу получить минутное значение поля TimeSpent и либо суммировать его по IssueID, либо просто показать минуты в другом столбце (затем я могу экспортировать их в Excel и рассчитать их оттуда).