728x90
닷넷기술을 적용해서 tsql의 확장성과 성능을 확올린 좋은 기술입니다.
SQL#이라는 라이브러리가 있는데 참고해서 사용해보시면 좋겠어요
Common Language runtime(CLR) 이란?
: 닷넷 환경하에 공용 언어를 런타임으로 실행 시키는 기술
MSSQL 내 CLR 활성화
sp_configure 'clr enabled', 1 GO RECONFIGURE GO
활용 1. 정규 표현식을 활용한 문자열 매칭, 갱신 연산 고도화
(EX. TEMP 테이블에 DASH 컬럼의 문자열에 DASH(-)와 숫자 이외의 문자열이 포함된 경우,
해당 문자열을 DASH(-)로 변경하고 DASH(-) 가 한번이상 반복되는 문자에 대해 DASH(-)를 하나로 변경한다.
정규표현식 문법 : https://ko.wikipedia.org/wiki/정규_표현식
활용 예시 |
UPDATE TEMP SET DASH = SQL#.RegEx_Replace(SQL#.RegEx_Replace(TELE_ORG,'[^-0-9]','-',-1,1,null),'-+','-',-1,1,NULL) WHERE SQL#.RegEx_IsMatch(TELE_DASH,'[^-0-9]',1,'') = 1 |
SQL# 라이브러리 활용(무료버전)
(* 설치 스크립트 실행 필요)
유사한 라이브러리 EVAL-SQL(유료)
MSSQL 2016 이상에서는 SP_EXECUTE_EXTERNAL_SCRIPT 구문을 통해 PTYTHON / R 스크립트도 실행 가능
'프로그래밍 > TSQL' 카테고리의 다른 글
[TSQL] 현재 DB 내 수행 중인 쿼리 정보 확인 (0) | 2019.10.22 |
---|---|
[MSSQL][TSQL] CTE(Common Table Expression) 란? (계층쿼리, 재귀) (0) | 2019.10.21 |
[TSQL] DB 내 스크립트 검색 (0) | 2019.10.21 |
[TSQL] 테이블 존재 유무 확인하기 (0) | 2019.10.21 |
TSQL 한글 발라내기 최적화 (0) | 2019.10.14 |
댓글