Sqlserver的int和varchar类型拼接的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sqlserver的int和varchar类型拼接的问题相关的知识,希望对你有一定的参考价值。
declare @ID bigint
declare @count bigint
declare @sql varchar(max)
set @sql=''
set @ID=1
set @count=10
set @sql =@sql+'update User set Medal='+@count+' where ID=@'+@ID+';'
主要是最后一句话
我想问的是 在Sqlserver里 想拼接int和varchar怎么办
亲们 回答下把
1、首先在数据表Table_1中有两列类型为数值的列num1和num2,类型分别为int和float。数据如图所示。
2、采用convert或cast函数进行数据类型转换,然后再使用“+”进行字符拼接。转换之后的类型可以是:char、nchar、varchar、nvarchar等。
3、convert函数的格式为:convert(varchar(20),num1)其中varchar为可变长度的字符串,20为字符串的最大长度,使用varchar的好处是可以避免结果中出现空格。如果需要空格,则可以考虑使用char。下图为以下查询结果。
4、cast函数的格式为:cast(num1 as varchar(20))关于数据格式参见上一步的说明。下图为以下查询结果。
5、1和2的结果完全相同。这里说明由于对varchar和int使用“+”运算符时,会自动转换varchar为int,因此一定要对两组数值都进行转换,就可以了。
参考技术A 将int类型转换为varchar ,如cast(1 as varchar(10)),再进行连接set @sql =@sql+'update User set Medal='+@count+' where ID='+cast(@ID as varchar(10))+';'本回答被提问者采纳
以上是关于Sqlserver的int和varchar类型拼接的问题的主要内容,如果未能解决你的问题,请参考以下文章