将varchar转换为数据类型numeric -error的算术溢出错误

时间:2014-09-03 18:53:31

标签: sql sql-server-2012

我正在尝试连接以下列

c.coursec + ' ' +  ms.sectionn, 

ms.secitonn是(十进制3,0)

因此我收到了一个错误:

  

将varchar转换为数据类型numeric的算术溢出错误。

c.coursec = 187C
ms.sectionn = 2
needed results is 187c-2 

我认为我必须做某种演员或转换?

1 个答案:

答案 0 :(得分:0)

你是对的,convert将允许你的字符串连接。

c.coursec + ' ' +  Convert(varchar(50), ms.sectionn), 

Cast也有效:

c.coursec + ' ' +  CAST( ms.sectionn AS varchar(50)), 

根据c.coursec的类型,您需要调整转换参数。例如,如果c.coursecnvarchar,则修改演员表是合适的。