Что может вызвать «Преобразование типа данных char в тип данных datetime привело к выходу за пределы допустимого диапазона»? - PullRequest
0 голосов
/ 09 июля 2009

Я столкнулся с ошибкой. У меня проблемы с выяснением.

У меня есть 2 таблицы, и я пытаюсь скопировать данные из одной в другую (упрощенное представление):

MyTable
-------
ID varchar(11) do not allow nulls
Field01 numeric(6,0) allow nulls

MyTable_Temp
------------
ID varchar(11) do not allow nulls
Field01 numeric(6,0) allow nulls

Мой запрос выглядит так:

DELETE FROM dbo.MyTable
INSERT INTO dbo.MyTable([ID],[Field01])
SELECT ID, Field01 FROM [dbo].MyTable_Temp WITH (NOLOCK)

Однако, когда я запускаю свой запрос, он выдает эту ошибку:

Сообщение 242, Уровень 16, Состояние 3, Процедура TRG_MyTable, Строка 6 Преобразование типа данных char в тип данных datetime привело к значению datetime вне диапазона.

Если я закомментирую часть запроса Field01, он будет работать нормально. Как числовое поле может выдать ошибку datetime?

1 Ответ

1 голос
/ 09 июля 2009

Мне кажется, что у вас есть какой-то триггер на целевой таблице, которая срабатывает (TRG_MyTable - дешевая распродажа) Возможно, она делает что-то вроде вставки записи с меткой времени в таблицу аудита где-то и запутывается.

...