【发布时间】:2012-12-05 20:06:48
【问题描述】:
我有两张桌子,我想将一张桌子插入另一张桌子。在我的暂存(源)表中,每一列都定义为nvarchar(300),并且这个限制不能改变。
在我的目标表中,列是所有不同类型的。例如,如果我想从源表中选择(数据类型nvarchar(300))并将该列插入到decimal(28, 16) 的数据类型中。
发生这种情况时,我收到以下错误:
将数据类型 nvarchar 转换为数值时出错。
即使我使用演员表,我也会收到错误。
INSERT INTO Destination (
Weighting
)
VALUES (
CAST(src.Weighting AS decimal(28, 16))
)
null 的值会影响这个吗?还有什么要考虑的吗?
【问题讨论】:
-
你确定它是一个可以强制转换的字符串吗?测试数字。
标签: sql-server tsql insert