Чтобы решить вашу проблему, как описано в вашем вопросе, рассмотрите следующее:
DECLARE @NewQNo VARCHAR(20)
DECLARE @OriginalQNo VARCHAR(20)
SET @OriginalQNo = 'res/12-19/001'
SET @NewQNo = RIGHT('00' + CAST(RIGHT(@OriginalQNo, 3) + 1 AS VARCHAR), 3)
SET @NewQNo = LEFT(@OriginalQNo, LEN(@OriginalQNo) - 3) + @NewQNo
PRINT @NewQNo
Чтобы отформатировать число как трехзначное с конечными нулями, вы просто добавляете два ноля в виде строкидо начала номера и затем извлеките самые правые три цифры, которые в этом случае будут выдавать 002
.
Для того, чтобы также включить остальную часть синтаксиса вопроса, вторая строка SET
добавляет начальные символы вопроса (в данном случае res/12-19/
к завершенной трехзначной строке.
Выходные данные:
res/12-19/002