在存储过程中减去运算符以进行连接

时间:2014-02-26 17:02:25

标签: sql-server tsql stored-procedures

我在存储过程中收到数据类型错误,因为我正在使用Field1+'-'+Field2。我尝试过转换和转换,但它不喜欢我用于那个讨厌的语法 - 。

对于减法操作,将它用作连字符或短划线而不是操作符的最佳方法是什么?

谢谢!!!

2 个答案:

答案 0 :(得分:2)

您需要将两个字段都转换为字符串,如下所示:

Convert(VarChar(10), Field1) + '-' + Convert(VarChar(10), Field2)

如果任一字段是数字,sql server会将其视为数学运算而不是连接。

**我用varchar(10)作为例子。您应该仔细检查数据类型并相应地调整10。

答案 1 :(得分:0)

如果你是2012 +

CONCAT(Field1,'-',Field2)

稍微冗长一点。 Docs

  

所有参数都隐式转换为字符串类型然后   级联。空值隐式转换为空字符串