MSSQL

[MSSQL] 숫자 시퀀스 알파벳 변환

igkrap 2024. 10. 17. 09:12

숫자 1~ 26^4 까지 AAAA ~ ZZZZ로 표현하는 법

DECLARE @seq NUMERIC(10) = 1
DECLARE @alp_seq VARCHAR(4)

-- 결과를 저장할 임시 테이블 생성
CREATE TABLE #TestSequences (
    seq NUMERIC(10),
    alp_seq VARCHAR(4)
)

WHILE @seq <= 26*26*26*26
BEGIN
    -- 4자리 알파벳 시퀀스를 생성하여 @alp_seq에 저장
    SET @alp_seq = CHAR(((@seq - 1) / (26 * 26 * 26)) % 26 + 65) +
                   CHAR(((@seq - 1) / (26 * 26)) % 26 + 65) +
                   CHAR(((@seq - 1) / 26) % 26 + 65) +
                   CHAR((@seq - 1) % 26 + 65)
    
    -- 생성된 값을 임시 테이블에 삽입
    INSERT INTO #TestSequences (seq, alp_seq)
    VALUES (@seq, @alp_seq)
    
    -- @seq 값 증가
    SET @seq = @seq + 1
END

-- 중복 확인
SELECT *
FROM #TestSequences
order by seq 
drop table #TestSequences

 

결과

 

수고하세요