我正面臨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