(尝试建立银行功能网站)
我正在尝试连接存储过程中int和varchar的字段,并且SQL Server显示错误:将nvarchar值'Checking'转换为数据类型int时转换失败。
然后需要在下拉列表中显示SQL的串联。
关于连接的任何帮助?此外,银行编号必须在VB的下拉列表中显示为XXXXXX0123对此加密或显示的任何建议 - 存储在SQL或DDL中。
谢谢
答案 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。