SQL服务器添加整型变量,结束串
问题描述:
的我要生成SQL Server中环一些整数,并将其添加到结束串的就是漫长的数SQL服务器添加整型变量,结束串
Declare @i int
Set @i = 10
While @i < 45
Begin
insert into AllowedStudents (GroupID, StudentNumber)
values ('1', '9210410' + @i)
SET @i = @i + 1
End
但是当插入过程结束我看到这个结果:
28240 1 9210420
28241 1 9210421
28242 1 9210422
28243 1 9210423
对
28240 1 921041020
28241 1 921041021
28242 1 921041022
28243 1 921041023
答
从转换@i
0至varchar
像这样
insert into AllowedStudents (GroupID, StudentNumber)
values ('1', '9210410' + Convert(varchar(50), @i))
答
这是因为在SQL Server类型的优先顺序。 Int
数据类型的优先级高于varchar
数据类型,导致varchar
被隐式转换为int
类型。您需要明确地将您的int
变量转换为varchar
数据类型。
'9210410' + cast(@i as varchar(100))
或
'9210410' + convert(varchar(100), @i)
有关数据类型优先级详情,请访问https://msdn.microsoft.com/en-us/library/ms190309.aspx
+0
这个答案的工作:
这可以用cast
或convert
函数来完成太...谢谢 –
它的工作...感谢 –