Использование приведения или преобразования для преобразования отрицательных значений int в datetime в SQL Server - PullRequest
0 голосов
/ 26 октября 2010

У меня есть некоторые отрицательные целочисленные значения, которые являются смещением от даты по умолчанию 1-1-1900.Я должен получить значения даты и времени из них.Как я могу это сделать.

Пример:

Если я сделаю:

SELECT convert(datetime, 53691) as Calc

OR

SELECT cast(53691 as datetime)

Я получу: 2047-01-01 00:00:00.000

Что мне нужно, этоЕсли я сделаю:

SELECT convert(datetime, -53691) as Calc

OR

SELECT cast(-53691 as datetime)

я должен получить что-то вроде:

1753-01-01 00:00:00.000

1 Ответ

2 голосов
/ 26 октября 2010

-53690 будет 1753-01-01. -53691 выводит вас за пределы типа данных datetime (который не поддерживает даты до 1753 года). Приведение -53690 работает так же, как и другие примеры.

...