Используя MS SQL Server и как часть процесса ETL, у меня есть FieldA в tblTest1, сохраненный как nvarchar (512).
Я пытаюсь вставить это в FieldB в tblTest2, который хранится как datetime - однако это терпит неудачу с ошибкой:
Conversion failed when converting date and/or time from character string
Итак, перед вставкой я попробовал следующееобновления безрезультатны:
UPDATE tblTest1 SET FieldA = CONVERT(nvarchar(MAX),FieldA, 112)
UPDATE tblTest1 SET FieldA = CAST (FieldA AS DATETIME2)
UPDATE tblTest1 SET FieldA = CONVERT(nvarchar,CAST(FieldA AS DATETIME2), 120)
UPDATE tblTest1 SET FieldA = CONVERT (DATE,FieldA)
Куда я иду не так?FieldA изначально выглядит так: 20081015 (ггггммдд)
Я также пытался изменить FieldA перед вставкой, но безрезультатно:
alter table tblTest1 alter column FieldA DateTime