본문 바로가기
프로그래밍/TSQL

[TSQL] CTR?

by 정리 습관(★arranging★) 2019. 10. 21.
728x90

닷넷기술을 적용해서 tsql의 확장성과 성능을 확올린 좋은 기술입니다.

SQL#이라는 라이브러리가 있는데 참고해서 사용해보시면 좋겠어요

 

Common Language runtime(CLR) 이란?

: 닷넷 환경하에 공용 언어를 런타임으로 실행 시키는 기술

MSSQL 내 CLR 활성화

sp_configure 'clr enabled', 1 GO RECONFIGURE GO

https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration

 

활용 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# 라이브러리 활용(무료버전)

https://sqlsharp.com/

(* 설치 스크립트 실행 필요)

유사한 라이브러리 EVAL-SQL(유료)

 

MSSQL 2016 이상에서는 SP_EXECUTE_EXTERNAL_SCRIPT 구문을 통해 PTYTHON / R 스크립트도 실행 가능

 

댓글