SQL Server Concatenation&在VB中显示

时间:2014-11-24 04:48:38

标签: sql-server vb.net

(尝试建立银行功能网站)

我正在尝试连接存储过程中int和varchar的字段,并且SQL Server显示错误:将nvarchar值'Checking'转换为数据类型int时转换失败。

然后需要在下拉列表中显示SQL的串联。

关于连接的任何帮助?此外,银行编号必须在VB的下拉列表中显示为XXXXXX0123对此加密或显示的任何建议 - 存储在SQL或DDL中。

谢谢

2 个答案:

答案 0 :(得分:0)

要连接int和varchar,首先应该将int转换为varchar

 convert(varchar,anyint)+' '+'varchar string';

它将删除您的:转换失败错误

答案 1 :(得分:0)

在SQL Server中,除了字符串之外,不能连接任何其他内容。所以你必须至少使用CONVERT()伪函数。这是一个例子:

DECLARE @myInt INT = 42
DECLARE @myVarChar VARCHAR(MAX) = 'My number is ' + CONVERT(VARCHAR(16), @myInt)

在您的情况下,您似乎希望使用前导零格式化数字。有几种方法可以做到这一点,但我倾向于这样做的方式如下:

SET @myVarChar = 'Formatted = ' + RIGHT('0000000000' + CONVERT(VARCHAR(16), @myInt), 10)

这将转换后的数字前缀为10个零,然后取最右边的10个数字,其中包括原始数字中的所有数字,但需要很多填充零才能使总长度达到10。