프로그래밍/TSQL
TSQL 한글 발라내기 최적화
정리 습관(★arranging★)
2019. 10. 14. 17:28
728x90
개발 내용
1.cte 를 활용한 문자열분리(while 반복없이)
1.cte 를 활용한 문자열분리(while 반복없이)
2.아스키, 유니코드, 바이트기준 한글판단
활용 쿼리 |
;WITH EACH(N, STR,CODE,UNICODE) AS ( SELECT 1, SUBSTRING(@STR, 1, 1),ASCII(SUBSTRING(@STR, 1, 1)),CONVERT(BINARY(2),UNICODE(CONVERT(NVARCHAR(2),SUBSTRING(@STR, 1, 1))))--,CONVERT(BINARY(2),SUBSTRING(@STR, 1, 1))--UNICODE(SUBSTRING(@STR, 1, 1)) UNION ALL SELECT N + 1, SUBSTRING(@STR, N+1, 1), ASCII(SUBSTRING(@STR, N+1, 1)),CONVERT(BINARY(2),UNICODE(CONVERT(NVARCHAR(2),SUBSTRING(@STR, N+1, 1))))--,CONVERT(BINARY(2),SUBSTRING(@STR, N+1, 1))--UNICODE(SUBSTRING(@STR, N+1, 1)) FROM EACH A WHERE N < LEN(@STR) ) select * from EACH |
성능 아주 좋아요~
필요한 code 입맛에 맞게 가져다 쓰면 좋겠네요 ( 뒷 주석 해제 시는 CTE의 컬럼 정보를 잘 맞춰 주세요 )