Вам необходимо сохранить max value
идентификатора сотрудника в declared variable
. От этого вы отделите EMP
и Number
. После этого вы можете увеличить числовое значение на 1 и использовать REPLICATE()
для генерации, предшествующей 0
.
. Пожалуйста, проверьте ответ ниже.
DECLARE @EMPID VARCHAR(10)
SELECT
@EMPID = MAX(X.EmployeeID)
FROM
(
SELECT 'EMP0008' EmployeeID UNION ALL
SELECT 'EMP0011'
) X
SELECT 'EMP' + REPLICATE('0',4 - LEN(RIGHT(@EMPID,4) + 1)) + CONVERT(VARCHAR(10),(RIGHT(@EMPID,4) + 1)) AS EmployeeID
Демо