递增一个数字并附加一组固定的字符-SQL Server

递增一个数字并附加一组固定的字符-SQL Server,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我需要增加一个数字并附加AA作为前缀。下面是一个例子: 我在表T1中存储了一个常量。 我必须用另一个表中的每条记录将该数字增加1。此外,号码的前缀应为“AA” 记录应如下所示: AA1010 AA1011 AA1012...so on 编辑:我的查询应该以Select开头,而不是别的。因为系统不接受除“选择”以外的其他起始查询。非常感谢那些回答我问题的人。正在等待基于我的编辑的答复。谢谢各位。此查询可能会帮助您:- DECLARE @constnumber INT =0 SELECT @c

我需要增加一个数字并附加AA作为前缀。下面是一个例子:

我在表T1中存储了一个常量。 我必须用另一个表中的每条记录将该数字增加1。此外,号码的前缀应为“AA”

记录应如下所示:

AA1010
AA1011
AA1012...so on

编辑:我的查询应该以Select开头,而不是别的。因为系统不接受除“选择”以外的其他起始查询。非常感谢那些回答我问题的人。正在等待基于我的编辑的答复。谢谢各位。

此查询可能会帮助您:-

DECLARE @constnumber INT =0 

SELECT @constnumber = [constant number] 
FROM   t1 

UPDATE t1 
SET    [constant number] = @constnumber + 1 

SELECT 'AA' + CONVERT (VARCHAR, @constnumber + 1) 

此查询可能有助于您:-

DECLARE @constnumber INT =0 

SELECT @constnumber = [constant number] 
FROM   t1 

UPDATE t1 
SET    [constant number] = @constnumber + 1 

SELECT 'AA' + CONVERT (VARCHAR, @constnumber + 1) 

在标准SQL中,您将编写一个
select
查询,如下所示:

select t.*,
       concat('AA', t1.val + row_number() over (order by ?))
from t1 cross join
     othertable t;
您还可以使用
|
作为字符串连接的运算符

是要按其排序的列名的占位符

编辑:

在SQL Server中,使用
+
进行字符串连接,并将类型转换为字符串:

select t.*,
       ('AA' + convert(varchar(255), t1.val + row_number() over (order by ?)))
from t1 cross join
     othertable t;

在标准SQL中,您将编写一个
select
查询,如下所示:

select t.*,
       concat('AA', t1.val + row_number() over (order by ?))
from t1 cross join
     othertable t;
您还可以使用
|
作为字符串连接的运算符

是要按其排序的列名的占位符

编辑:

在SQL Server中,使用
+
进行字符串连接,并将类型转换为字符串:

select t.*,
       ('AA' + convert(varchar(255), t1.val + row_number() over (order by ?)))
from t1 cross join
     othertable t;
如果您使用的是SQL Server 2012+

DECLARE @cid int = 0;
SELECT @cid = [const_column] FROM t1;

create Sequence Sq as int
minvalue @cid
cycle;

update t2 set [const_column]=(concat('AA', NEXT VALUE FOR Sq ))
如果您使用的是SQL Server 2012+

DECLARE @cid int = 0;
SELECT @cid = [const_column] FROM t1;

create Sequence Sq as int
minvalue @cid
cycle;

update t2 set [const_column]=(concat('AA', NEXT VALUE FOR Sq ))

用你正在使用的数据库标记你的问题。用你正在使用的数据库标记你的问题。非常感谢。我是一个初学者,为了使查询正确,我必须在查询上做很多工作。你的回答真的很有帮助。虽然我得到了要递增的值,但我无法附加'AA'。我使用了+,但它给了我一个无法将varchar转换为数值的错误。我不能使用concat,因为系统不接受它。我还尝试将整个查询放入一个内部查询,并将AA附加到内部查询结果中。但它仍然给我一个错误,它期望一个条件。任何进一步的建议都会很有帮助。@Sara。您使用的是什么数据库?Microsoft SQL Server 2008非常感谢。我是一个初学者,为了使查询正确,我必须在查询上做很多工作。你的回答真的很有帮助。虽然我得到了要递增的值,但我无法附加'AA'。我使用了+,但它给了我一个无法将varchar转换为数值的错误。我不能使用concat,因为系统不接受它。我还尝试将整个查询放入一个内部查询,并将AA附加到内部查询结果中。但它仍然给我一个错误,它期望一个条件。任何进一步的建议都会很有帮助。@Sara。您使用的是什么数据库?Microsoft SQL Server 2008