본문 바로가기

tsql8

MSSQL 동적쿼리 파라미터 전달(SP_EXECUTESQL WITH PARAMETER) DECLARE @CONDITION GEOMETRY EXECUTE SP_EXECUTESQL @QUERY,N'@CONDITION_P AS GEOMETRY',@CONDITION MSSQL 동적쿼리 파라메터 전달 파라메터 전달 방법 SP_EXECUTESQL 을 이용합니다. 유의 사항 NVARCHAR를 사용합니다. 동적쿼리 문자열 내의 변수 정의를 해주어야합니다. 사용 방법 1.NVARCHAR 문자열로 동적쿼리 작성 시 문자열내에 @변수명 으로 변수 입력 2.EXCUTE SP_EXECUTESQL 에 문자열,[내부에서 사용한 변수의 정의],[실제값] DECLARE @CONDITION GEOMETRY EXECUTE SP_EXECUTESQL @QUERY,N'@CONDITION_P AS GEOMETRY',@CONDITI.. 2020. 11. 6.
[MSSQL] 문자열 비교하기 ( 동일한 부분만 리턴하기 ) 두개의 문자열을 비교해서 동일한 부분만 출력하고 싶을 때 아래 방식으로 함수를 구현할 수 있습니다. 아래 예시는 동일한 문자열에 경우에 한해서 작성되었고, 목적은 아래와 같이 문자열이 입력되었을 때 '/' 문자열 기준으로 동일하게 분리된 문자열만 살리는 일종의 XOR 연산과 같은 동작을 구현하는데 있습니다. 문자열 1 : 가/나다/라/마/바사 문자열 2 : 가나다/라마/바사 결과 : 가나다/라마/바사 사용 기술 : CTE, 재귀, STUFF MSSQL, TSQL 로 문자열 만지기, 재귀(RECURSIVE) 구현하기 재밋네요 code 공유 드립니다. DECLARE @RESULT VARCHAR(100), @STR1 VARCHAR(100),@STR2 VARCHAR(100) DECLARE @SEP VARCHAR.. 2020. 4. 14.
[MSSQL] TSQL 영문 대소문자 구분 비교 문자열 비교 유형을 지정해서 비교 할 수 있습니다. Korean_Wansung_CS_AS : 대소문자 구분 Korean_Wansung_CI_AS : 대소문자 구분 안함 COLLATE 기본은 대소문자 구분 안함으로 설정됩니다. 사용 방법은 비교하고자하는 조건 데이터(또는 컬럼)에 COLLATE 키워드를 붙여 아래와 같이 사용합니다. 예시 select case when 'AT/센터(/양재동)' = 'aT/센터(/양재동)' COLLATE Korean_Wansung_CS_AS then 1 else 0 end 결과 1 문자열 내 소문자가 포함되어있는지 검색 declare @STR varchar(100) set @STR = 'aT/센터(/양재동)' select case when @STR UPPER( @STR) CO.. 2020. 1. 16.
TSQL 한글 발라내기 최적화 개발 내용 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(B.. 2019. 10. 14.