닷넷기술을 적용해서 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/정규_표현식
정규 표현식 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 노랑색 강조 부분은 다음 정규식을 사용했을 때 매치된 것이다. 정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp[1] 또는 regex, rational expression)[2][3] 또는 정규식(正規式)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있으며, 특히
ko.wikipedia.org
활용 예시 |
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 |
댓글