반응형

MSSQL 에서 사용하는 행 규합 함수

※ 해당 함수는 SQL Server 2017 이상부터 사용 가능하다.

 

다중 행을 한 행으로 합쳐서 나열하는 함수

특정 속성 (취미 항목, 자산내역 등등) 을 한줄로 표현하기에 적합

 

■ 반환 형식: 문자

STRING_AGG('열', '구분자')

 

 

출처: MS - STRING_AGG

반응형

'SQL 저장소 > 변환' 카테고리의 다른 글

대체 - REPLACE  (0) 2024.06.12
이전 행 & 다음 행 - LAG & LEAD  (0) 2024.06.12
문자열 합치기 - CONCAT&CONCAT_WS  (0) 2024.06.10
단어 위치 찾기 - CHARINDEX  (0) 2024.06.10
문자 자르기 - SUBSTRING 및 간단 심화  (1) 2024.06.10
반응형

MSSQL 에서 사용하는 문자 대체 함수

 

■ 반환 형식: 문자

REPLACE('문자열', '찾을 문자', '변경할 문자')

 

SELECT REPLACE('ABCDEFG', 'BCD', '')	-- AEFG
     , REPLACE('Misterio', 'i', 'y')	-- Mysteryo

 

 

출처: MS - REPLACE

반응형
반응형

MSSQL 에서 사용하는 이전 행 & 다음 행

 

■ 반환 형식: '열' 형식에 따라 변경이 됨.

LAG('열' [, offset] [, default] ) OVER ( [partition by]  order by)

LEAD ('열' [, offset] [, default] ) OVER ( [partition by]  order by)

 

만약 그룹별 이전, 다음 행의 값이 필요하다면 PARTITION BY 를 이용하여 그룹을 지정해주면 된다.

 

처음으로 작업 이미지가 필요할 것 같아 이미지 첨부

LAG 작업 시 단계
LAG 및 LEAD 사용 예제

 

출처: MS - LEAD & LAG

반응형

'SQL 저장소 > 변환' 카테고리의 다른 글

행 규합 - STRING_AGG  (0) 2024.06.13
대체 - REPLACE  (0) 2024.06.12
문자열 합치기 - CONCAT&CONCAT_WS  (0) 2024.06.10
단어 위치 찾기 - CHARINDEX  (0) 2024.06.10
문자 자르기 - SUBSTRING 및 간단 심화  (1) 2024.06.10
반응형

MSSQL 에서 사용하는 다중 문자열 합치기

 

■ 반환 형식: 문자

CONCAT('문자1', '문자2', '문자3', ...)

CONCAT_WS('구분 기호', '문자1', '문자2', '문자3', ...)

 

두 함수 모두 문자열을 합치는 함수이며, 필요에 따라 사용 하면 된다.

 

CONCAT_WS 의 경우 첫번째 인수가 설명상 '구분 기호' 이나 기호만 사용하는 것이 아닌 문자를 사용하도 무방하다.

단. 아래 예시 처럼 문자가 반복이 될 수 있다.

DECLARE @T1 NVARCHAR(20)    = '문자'
DECLARE @T2 NVARCHAR(20)    = '열'
DECLARE @T3 NVARCHAR(20)    = NULL
DECLARE @T4 NVARCHAR(20)    = '합치기'

SELECT CONCAT(@T1, @T2, @T3, @T4)		-- 문자열합치기
     , CONCAT_WS(',', @T1, @T2, @T3, @T4)	-- 문자,열,합치기
     , CONCAT_WS('-', @T1, @T2, @T3, @T4)	-- 문자-열-합치기
     , CONCAT_WS(@T1, @T2, @T2, @T3, @T4)	-- 열문자열문자합치기

 

출처 MS - CONCAT, CONCAT_WS

반응형

'SQL 저장소 > 변환' 카테고리의 다른 글

대체 - REPLACE  (0) 2024.06.12
이전 행 & 다음 행 - LAG & LEAD  (0) 2024.06.12
단어 위치 찾기 - CHARINDEX  (0) 2024.06.10
문자 자르기 - SUBSTRING 및 간단 심화  (1) 2024.06.10
날짜 변환 - CONVERT (DATE&DATETIME)  (1) 2024.06.10
반응형

MSSQL 에서 사용하는 단어 위치 찾기

 

■ 반환 형식: 숫자

CHARINDEX('찾을 단어', '대상 문장&단어' [, '시작위치'])

 

해당 항목은 3번째 파라미터 위치에 따라 값의 변화가 쉽게 일어나며,

결과 값은 항상 숫자(위치 값) 로 떨어진다.

시작 위치로 부터 먼저 발견 되는 위치를 찾기 때문에 찾으려는 단어가 문장 여러 곳에 포진해있을 경우

3번째 파라미터의 값을 잘 맞춰주어야 한다.

 

DECLARE @Text NVARCHAR(200) = '문자 -자르기 -견본'

SELECT CHARINDEX('-', @Text, 1)		-- 4 번째 위치
     , CHARINDEX('-', @Text, 5)		-- 9 번째 위치
     , CHARINDEX('견', @Text, 1)	-- 10 번째 위치

 

 

출처: MS - CHARINDEX

반응형

+ Recent posts