2015-04-27 8 views
0

Преобразование типа данных даты к типу DateTime данных привело к значениюКак преобразовать поле даты в формат даты? SQL 2008

из-за границы диапазона.

Заявление было прекращено.

Мне просто нужно преобразовать поле даты в формат даты.

+0

Вы можете разместить свой запрос, который вы пробовали? –

+0

И каков ваш запрос на вставку? –

+0

выглядит подозрительно, как sql-сервер, в отличие от mysql –

ответ

1

Пример того, что код будет выглядеть для преобразования даты в Datetime2

DECLARE @d1 date; 
SET @d1 = GETDATE() 

-- When converting date to datetime the minutes portion becomes zero. 
SELECT CAST (@d1 AS datetime2) AS [date as datetime2] 

Для получения дополнительной информации о гипсе и конвертировать см Microsoft reference.

1

Вы, вероятно, выйти из диапазона исключения, потому что Date поддерживает диапазон дат между
January 1, 1 and December 31, 9999, в то время как DateTime поддерживает диапазон дат только между
January 1, 1753 to December 31, 9999.

Хотите знать, почему 1753? Read this. (рекомендуется чтение для всех, кто любит элементы мелочи)

конвертируйте в Datetime2 вместо Datetime, это должно быть в порядке, так как Datetime2 поддерживает диапазон дат, похожий на сегодняшний день.

преобразование может быть сделано просто с помощью CAST:

SELECT CAST(YourDateTypeColumn As Datetime2) 
FROM YourTable 
Смежные вопросы