2019. 5. 16. 19:58ㆍIT/MS-SQL
이걸 응용하면 AA~ZZ, AAAA~ZZZZ 도 가능하다.
Data 가 없이 시작하는 경우 isnull 조건을 추가하면된다.
isnull 은 Z 로 하면 바로 AAA 부터 시작이다.
그게 귀찮다면? 그냥 기본값으로 ZZZ를 하나 넣어두고 시작하면 된다.
---- AAA 에서 ZZZ 까지 순서대로 체번하기
select char(
case ASCII(substring(MAX(AAAZZZ),2,1))
when 90
then case ASCII(substring(MAX(AAAZZZ),3,1))
when 90
then case ASCII(substring(MAX(AAAZZZ),1,1))
when 90
then 65
else ASCII(substring(MAX(AAAZZZ),1,1))+1 end
else ASCII(substring(MAX(AAAZZZ),1,1))+1 end
else ASCII(substring(MAX(AAAZZZ),1,1)) end
)
+ char(
case ASCII(substring(MAX(AAAZZZ),3,1))
when 90
then case ASCII(substring(MAX(AAAZZZ),2,1))
when 90
then 65
else ASCII(substring(MAX(AAAZZZ),2,1))+1 end
else ASCII(substring(MAX(AAAZZZ),2,1)) end
)
+ char(
case ASCII(substring(MAX(AAAZZZ),3,1))
when 90
then 65
else ASCII(substring(MAX(AAAZZZ),3,1))+1 end
) as MARKING
from TEST_TABLE
'IT > MS-SQL ' 카테고리의 다른 글
[MS-SQL] 글자 앞에 문자 또는 숫자 채우기, 1 -> 0001 변환, MS SQL replicate (0) | 2019.09.19 |
---|---|
[MS-SQL] SELECT 시 값이 없이 없을때, Empty, Row가 0일때 처리 방법 (2) | 2019.09.19 |
MSSQL 한글 자동 전환 문제 해결!! (1) | 2019.03.15 |
MSSQL Alter Table / 테이블 컬럼 추가 (0) | 2018.12.14 |
행렬 변환 함수 PIVOT, UNPIVOT [MSSQL 가로 세로 변환, 행열변환] (0) | 2018.06.18 |