sql - 从字符串转换日期和/或时间时 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
解决方案
我解决了这个问题 - 作为字段映射的一部分,字段映射是一个问题。感谢大家的帮助和建议。
推荐阅读
- android - 拖放干扰Angular 7 CDK中的滚动
- javascript - 如何在 Selenium 中刮掉不可见元素的文本?
- excel - vba if elseif else-statement 不给出输出我希望它是
- python - 在 pyomo 为具有不同子索引的变量设置不同的初始值
- graph - 是否可以从 Grafana 的堆积线图中排除一个系列
- docker - 具有多个构建执行器的 kubernetes 动态 jenkins slave
- python-3.x - Discord 机器人在机器人反应检查问题上应用角色
- npm - NPM 包,包括 .DS_Store
- here-api - 无法按类别过滤 here.com 自动建议 API
- python - 使用 Beautiful Soup 或 Selenium (Py) 下载 ASPX PDF 链接