我有一个包含以下列和数据类型的表。
成本表数据类型:
费用 - 小数(18.5)
LineNumber - int
产品 - nchar
数量 - 浮动
我正在尝试将名为“Test”的临时表中的数据插入到上表中。此临时表中的所有数据都是nchar。我已经尝试过以下代码。我收到错误消息“错误转换数据类型varchar为数字“
INSERT INTO Cost
(
Cost,
LineNumber,
Product,
Quantity
)
SELECT
(convert(decimal,ts.c1)),
(convert(int,ts.c2)),
convert(nvarchar,ts.c3),
(convert(float ,ts.c4))
FROM #Test ts
也尝试了
INSERT INTO Cost
(
Cost,
LineNumber,
Product,
Quantity
)
SELECT
cast(ts.c1 as decimal(18,5)),
cast(ts.c2 as int),
cast (ts.c3 as nvarchar),
cast(ts.c4 as float)
FROM #Test ts
非常感谢任何帮助。
谢谢
答案 0 :(得分:0)
该消息表示表中的char数据无法转换为数字 - 它可能包含字母字符。
尝试此操作以查看哪些行会给您带来麻烦:
SELECT * FROM #Test
WHERE ISNUMERIC(c1) = 0
OR ISNUMERIC(c2) = 0
OR ISNUMERIC(c4) = 0