繁体   English   中英

SQL Server:将数据类型varchar转换为数值时出错

[英]SQL Server: error converting data type varchar to numeric

这是情况。 我有一个SQL Server表,其中包含以下列:

TaskOrder (varchar(50), null)
Labor (decimal(18,2), null)
LaborCLIN (varchar(50), null)

我正在创建一个传递参数的存储过程: @TaskOrder

我创建了一个临时表,如下所示:

declare @miprfin table
(
    TaskOdr varchar(50),
    Labor decimal(18,2),
    LaborClin varchar(50)
)

当我运行以下查询时:

insert into @miprfin
   select TaskOrder, LaborCLIN, sum(labor) as labor
   from MIPRFIN 
   where TaskOrder = @TaskOrder
   group by TaskOrder, LaborCLIN
   order by LaborCLIN

我收到以下错误消息:

讯息8114,第16级,状态5,第404行
将数据类型varchar转换为数字时出错。

我看不到它试图转换任何数据的位置。

我正在使用SQL Server 2012 Management Studio

您应该始终将列放在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;

您正在将labor投入到laborclin领域,反之亦然。 因此,错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM