插入

时间:2016-11-23 01:14:36

标签: sql tsql type-conversion varchar implicit

我确信这已被问及答案,但我找不到。我是TSQL的新手。我正在尝试将几个邮政编码记录(字符串)'插入'到我之前构建的表中。该列设置为varchar(255)。不确定其他245个字符是什么......

当我尝试插入值时,SqlServer会尝试将文本字符串隐式转换为int并失败。

INSERT INTO db.table (city,zip)
    SELECT 'New York','12345-1234' UNION ALL
    SELECT 'Pittsburgh','98765-4321';

返回“Msg 245,Level 16,State 1,Line 4 将varchar值'12345-1234'转换为数据类型int时转换失败。“

任何帮助将不胜感激。

好的......回到办公室。这是我试图插入的zip列的屏幕抓图。它是一个varchar,上面的代码正确地代表了我正在尝试做的事情。它是'UNION ALL'吗?

Zip column

2 个答案:

答案 0 :(得分:0)

此值不是整数,您插入的字段必须是精度较低的字符串,必须是您可以接收的最长字符串。

答案 1 :(得分:0)

没关系。我想到了。在我插入的大型数据集中,有一些粗略输入的数据被作为一个整体被选中。然后,TSQL尝试转换为层次结构中较高的数据类型并中断插入。

感谢大家的帮助。