【问题标题】:Arithmetic overflow error converting varchar to data type numeric -error将 varchar 转换为数据类型 numeric 的算术溢出错误 -error
【发布时间】:2014-09-03 18:53:31
【问题描述】:

我正在尝试连接以下列

c.coursec + ' ' +  ms.sectionn, 

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

因此我得到一个错误:

将 varchar 转换为数字数据类型时出现算术溢出错误。

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

我认为我必须进行某种类型的转换或转换?

【问题讨论】:

  • 您能在这里找到解决方案吗?如果您找到了不同的解决方案,请考虑标记答案或离开 cmets。

标签: sql sql-server-2012


【解决方案1】:

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

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

Cast 也是有效的:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多