SELECT MAX('ABC001') +1
我想要ABC002
我怎样才能做到这一点?
答案 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