이와 비슷한 기능이 있습니까?
DECLARE @Table TABLE (ID VARCHAR(20));
-- Non alumni
INSERT INTO @Table
(ID)
VALUES ('N00011')
INSERT INTO @Table
(ID)
VALUES ('N00012')
INSERT INTO @Table
(ID)
VALUES ('N00013')
-- Alumni
INSERT INTO @Table
(ID)
VALUES ('A00011')
INSERT INTO @Table
(ID)
VALUES ('A00012')
INSERT INTO @Table
(ID)
VALUES ('A00013')
-- Insert Alumni
INSERT INTO @Table
(ID
)
SELECT 'A' + RIGHT('00000'
+ CAST(MAX(RIGHT(ID, LEN(ID) - 1)) + 1 AS VARCHAR(10)),
5)
FROM @Table
WHERE LEFT(ID, 1) = 'A'
-- Insert Non Alumni
INSERT INTO @Table
(ID
)
SELECT 'N' + RIGHT('00000'
+ CAST(MAX(RIGHT(ID, LEN(ID) - 1)) + 1 AS VARCHAR(10)),
5)
FROM @Table
WHERE LEFT(ID, 1) = 'N'
원본 테이블의 ID가 존재하지 않는다고 알려주는 것을 잊었습니다. 따라서 ID는 빈 열과 같이 생성되어야합니다. – japogs