SQL Server 连接 varchar 和 int

标签 sql sql-server

我有两个变量:

一个是 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/

相关文章:

mysql - 如何用一条sql检查多条记录的列值是否相同

sql - 我在哪里可以找到/学习行业标准 SQL 约定?

SQL Server : set value where row id is same

sql-server - 使用一个接受可变数量参数的存储过程是一种好习惯吗

sql-server - 如何在没有CLR的情况下调试SQL Server 2008中的存储过程?

sql - 如何根据sql中的其他列创建列?

php - 从下拉框中的选择返回 mysql 查询

sql - 如何在计数SQL中有条件?

sql - 如何获取属于同一键的多个实例的数据?

SQL:将一列数据转换为多列