Переполнение при преобразовании int в datetime
В настоящее время я импортирую таблицу из MYSQL в MSSQL. Там есть столбец для хранения даты, только он хранится в виде числа. Когда я импортирую его в MSSQL, я получаю его как тип данных int.
Когда я пытаюсь преобразовать это в datetime, я получаю:
Ошибка арифметического переполнения при преобразовании выражения в тип данных datetime.
Поскольку я использую MSSQL 2005, я не могу использовать datetime2 и подогнать его, чтобы он не переполнялся.
Есть ли способ обрезать эту дату, хранящуюся как int, чтобы она не переполняла формат даты и времени?
1 ответ
Тип данных MSSQL datetime может принимать значения с 1 января 1753 года по 31 декабря 9999 года. Целочисленные эквиваленты для этих значений составляют -53690 и 2958463 соответственно. Попытка преобразовать целочисленные значения вне этого диапазона вызовет арифметическое переполнение.