代码:
Create Procedure sp_EmpBonus (@BonusAmt int)
AS
Select
FirstName, LastName, Title,
Salary,
Salary * Cast('xxx' as int) TotalBonus
From
Employee
Where
Cast('xxx'as int) = @BonusAmt
EXEC sp_EmpBonus '.10'
错误:
Msg 8114,Level 16,State 5,Procedure sp_EmpBonus,Line 0
将数据类型varchar转换为int时出错。
答案 0 :(得分:0)
您声明了一个整数参数,但'.10'
(十分之一)不是整数,也不能从VARCHAR
强制转换为它。
答案 1 :(得分:0)
更改此行
EXEC sp_EmpBonus 10
当您在'somevalue'
(单引号)中写一些内容时,这意味着它不是int
。
答案 2 :(得分:0)
这里有几件事:
样品:
Number Date ID Total Status Paid
['E5345', '22/09/2015', 'C106', '815', 'A', '400']
['E5348', '23/09/2015', 'C109', '370', 'A', '200']
['E5349', '25/09/2015', 'C110', '480', 'A', '250']
['E5353', '28/09/2015', 'C114', '272', 'A', '200']
['E5355', '29/09/2015', 'C116', '530', 'A', '450']
['E5363', '01/10/2015', 'C124', '930', 'A', '500']
['E5364', '02/10/2015', 'C125', '915', 'A', '800']
['E5367', '03/10/2015', 'C128', '427', 'A', '350']
['E5373', '10/10/2015', 'C134', '1023', 'A', '550']