[英]SQL Server: error converting data type varchar to numeric
Here is the situation. 这是情况。 I have a SQL Server table that contains the following columns: 我有一个SQL Server表,其中包含以下列:
TaskOrder (varchar(50), null)
Labor (decimal(18,2), null)
LaborCLIN (varchar(50), null)
I am creating a stored procedure that passes in the parameter: @TaskOrder
我正在创建一个传递参数的存储过程: @TaskOrder
I created a temp table as follows: 我创建了一个临时表,如下所示:
declare @miprfin table
(
TaskOdr varchar(50),
Labor decimal(18,2),
LaborClin varchar(50)
)
When I run the following query: 当我运行以下查询时:
insert into @miprfin
select TaskOrder, LaborCLIN, sum(labor) as labor
from MIPRFIN
where TaskOrder = @TaskOrder
group by TaskOrder, LaborCLIN
order by LaborCLIN
I get the following error message: 我收到以下错误消息:
Msg 8114, Level 16, State 5, Line 404 讯息8114,第16级,状态5,第404行
Error converting data type varchar to numeric. 将数据类型varchar转换为数字时出错。
I do not see where it is trying to convert any data. 我看不到它试图转换任何数据的位置。
I am using SQL Server 2012 Management Studio 我正在使用SQL Server 2012 Management Studio
You should always put the columns in an insert
, and this is why: 您应该始终将列放在insert
,这就是为什么:
insert into @miprfin(TaskOdr, LaborCLIN, Labor)
select TaskOrder, LaborCLIN, sum(labor) as labor
from MIPRFIN
where TaskOrder = @TaskOrder
group by TaskOrder, LaborCLIN
order by LaborCLIN;
You were putting labor
into the laborclin
field and vice versa. 您正在将labor
投入到laborclin
领域,反之亦然。 Hence the error. 因此,错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.