Member 12558691 Ответов: 3

Как изменить тип данных BIGINT на date


как изменить тип данных Bigint на Date

Что я уже пробовал:

я попытался использовать команду ALTER и команду Convert

Maciej Los

Покажите нам, что вы пробовали до сих пор...

3 Ответов

Рейтинг:
1

#realJSOP

Только так вы сможете преобразовать тип integer к типу datetime, как это:

DateTime date = new DateTime(intValue);

Один тик - это сто наносекунд или одна десятимиллионная секунды. 10 000 ТИКов в миллисекунду, или 10 миллионов тиков в секунду.

Значение этого свойства представляет собой количество 100-наносекундных интервалов, прошедших с 12:00:00 полуночи 1 января 0001 года (0:00:00 UTC 1 января 0001 года по Григорианскому календарю), которое представляет собой DateTime.MinValue. Он не включает в себя количество тиков, которые относятся к високосным секундам.


Рейтинг:
0

Maciej Los

Значение типа bigint необходимо явное преобразование в тип datetime.

Для получения более подробной информации, пожалуйста, смотрите:
Преобразование типов данных (компонент Database Engine) | Microsoft Docs[^]
Приведение и преобразование (Transact-SQL) | Microsoft Docs[^]


Рейтинг:
0

Jochen Arndt

Это можно сделать с помощью ALTER команда. Но это не сработает, если база данных не сможет преобразовать существующие данные в новый тип, который можно ожидать при преобразовании из BIGINT к DATE.

Тогда вам придется

  • создайте временную таблицу, используя тип даты для столбца, который будет преобразован
  • скопируйте данные из исходной таблицы с помощью массового копирования с преобразованием
  • удаление исходной таблицы
  • переименуйте временную таблицу в исходное имя

Чтобы реализовать преобразование, вы должны знать, как дата представлена в таблице. BIGINT поле, чтобы его можно было преобразовать в DATE Как это сделать (и сделать весь описанный выше процесс), зависит от используемого ядра базы данных.