我有两个变量:
一个是 varchar,一个是 int,我不知道如何使用强制转换编写 while 循环,以便它将显示以下内容:例如,如果 while 循环为 5,则结果应该是 米1 米2 米3 米4 5米。
我有这段代码,但它没有运行(无法将 varchar 转换为 int),即使我进行转换,它也不起作用。
DECLARE @Name varchar (20) = 'Meter',
@MeterNumber int = 1
WHILE (@MeterNumber < 5)
BEGIN
PRINT @Name + ' ' + @MeterNumber
SET @MeterNumber = @MeterNumber + 1
END
最佳答案
这应该可以解决问题:在打印时将 MeterNumber 转换为 varchar。
DECLARE @Name varchar (20) = 'Meter',
@MeterNumber int = 1
WHILE (@MeterNumber <= 5)
BEGIN
PRINT @Name + ' ' + cast(@MeterNumber as varchar(20))
SET @MeterNumber = @MeterNumber + 1
END
编辑:
For example I want to declare a third variable that would store each iteration. Meter 1, Meter 2... but I am not sure where to place it!
DECLARE @Name varchar (20) = 'Meter',
@MeterNumber int = 1 ,
@OutPut varchar(max) =''; -- this can get biiiig.
WHILE (@MeterNumber <= 5)
BEGIN
SET @Output = @Output + @Name + ' ' + cast(@MeterNumber as varchar(20)) + ','
PRINT LEFT(@Output, len(@Output) - 1)
SET @MeterNumber = @MeterNumber + 1
END
关于SQL Server 连接 varchar 和 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17892185/