如何用+1增加max varchar数

时间:2017-09-06 06:48:37

标签: sql sql-server sql-server-2008

SELECT MAX('ABC001') +1

我想要ABC002

我怎样才能做到这一点?

4 个答案:

答案 0 :(得分:0)

如果您的格式始终相同,则可以执行以下操作:

select 'ABC' + right(concat('000',cast(cast(right(max(MY_FIELD),3) as integer) + 1 as varchar(3))),3)
from MY_TABLE

提取最大值的整数部分并将其递增1。然后再将其转换为字符串,用前导零填充它,并添加前缀。

但它肯定会非常脆弱。一个不遵循该格式的单个值,您的查询将失败。

最好有两个不同的字段:counter和prefix,并在计算列上组合它们。

答案 1 :(得分:0)

SELECT  'ABC'+(REPLICATE('0', 3 - LEN(CONVERT(Nvarchar(6),MAX(CONVERT(Integer,RIGHT( [COLUMN_NAME] , 2)) )  + 1))) + CONVERT(Nvarchar,MAX(CONVERT(Integer,RIGHT( [COLUMN_NAME] , 3 )))  + 1) )
                FROM [TABLE_NAME]

答案 2 :(得分:0)

试试这个:

select concat(left(max(field_name),3),right(max(field_name),3) +1) from table_name

答案 3 :(得分:0)

请检查下面的SQL命令:

solace-new> source script /configs/vpn-config.txt stop-on-error