我正面临SQL Server的问题。将varchar值“0%”转换为数据类型int时发生转换失败int
我创建了一个表是这样的:
create table Components
(
pk BIGINT NOT NULL PRIMARY KEY IDENTITY,
id VARCHAR(50),
descr VARCHAR(50),
in_m INT,
in_iy INT,
p_fw VARCHAR(5000)
);
,我试图插入几个值:
insert into Components (id, descr, in_m, in_iy, p_fw)
values ('FW000_A', '0%', 0, 0, '[0.0,0.0,0.0]'),
('FW000_B', '1%', 1, 1, '[1.0,1.0,1.0]');
我得到以下错误:
Msg 245, Level 16, State 1, Line 111
Conversion failed when converting the varchar value '0%' to data type int.
即使列descr
正确定义为varchar(50)
。
有人可以帮我吗?为什么SQL Server试图将我的字符串转换为int值?
您的代码适用于SQL Server 2014中的我。http://rextester.com/UOOT87695您确定它是刚刚创建的同一张表吗?相同的模式等? –
我正在使用SQL Server Express 2012,但是,我有“使用mydb;”声明在文件的开头。编辑:我试图为创建和插入查询添加表示法[schema]。[表],但我得到的结果与以前一样... – jjhorn
如果您运行SQL跟踪(或使用https:// hibernatingrhinos.com/products/nhprof)通过线路传递的实际SQL是什么? – mjwills