首页 > 解决方案 > 从字符串转换日期和/或时间时 SQL 转换失败

问题描述

使用 MS SQL Server 并作为 ETL 过程的一部分,我将 tblTest1 中的 FieldA 存储为 nvarchar(512)。

我正在尝试将其插入 FieldB 到存储为日期时间的 tblTest2 中 - 但是这失败并出现错误:

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 (yyyymmdd)

我还尝试在插入之前更改 FieldA 无济于事:

alter table tblTest1  alter column FieldA DateTime

标签: sqlsql-serverdatedatetime

解决方案


我解决了这个问题 - 作为字段映射的一部分,字段映射是一个问题。感谢大家的帮助和建议。


推荐阅读