문자열 자르기, 특정 문자 위치 찾기, 문자열 치환, 공백 제거 관련 함수는 아래 링크로 확인해주세요.😊
MS SQL_문자열 관련 함수 정리1(문자열 자르기, 특정 문자 위치 찾기, 문자열 치환, 공백 제거)
1. 문자열 자르기 함수 (SUBSTRING, LEFT, RIGHT) SUBSTRING (문자열, 시작위치, 길이) 문자열을 원하는 시작위치부터 길이만큼 잘라주는 함수 LEFT (문자열, 길이) : 문자열을 왼쪽부터 원하는 ..
jjin-todo.tistory.com
1. 문자열 합치기 함수 (CONCAT, STUFF + FOR XML PATH)
1)CONCAT(문자열1,문자열2,....) 문자열을 합쳐주는 함수로 더하기 연산자와 같은 역할
CONCAT_WS(구분자,문자열1,문자열2,....) 구분자로 문자열을 합쳐준다
✔CONCAT, CONCAT_WS 예시
SELECT CONCAT('만두가', ' 먹고싶다') AS 'CONCAT 결과'
SELECT '만두가' + ' 먹고싶다'AS '+ 연산자 결과'
SELECT CONCAT( '나는야',(SELECT ' ' + ENAME
FROM EMP
WHERE EMP_ID ='JIN') ) AS 'SELECT 한 문자열 합치기 결과'
SELECT CONCAT_WS('/','짜장면','짬뽕','볶음밥') AS 'CONCAT_WS 결과'
✔CONCAT, CONCAT_WS 예시 결과
2)STUFF 와 XML FOR PATH 활용하여 여러 행의 컬럼 값을 하나의 문자열로 합쳐줄 수 있다.
①FOR XML PATH로 XML 요소 문자열 가져 오기
FOR XML PATH(요소)는 쿼리의 끝에 붙여 쿼리의 실행 결과를 XML요소로 출력해주는 함수다
✔ FOR XML PATH 예시 결과
SELECT ',' + ENAME + '님'
FROM EMP
FOR XML PATH('')
②STUFF 를 통해 FOR XML PATH 의 실행 결과로 나온 문자열 앞의 쉼표를 ' '공백으로 치환
STUFF(문자열,시작위치,크기,치환문자) 문자열에서 원하는 문자로 치환하는 함수이다.
✔STUFF + FOR XML PATH 예시 결과1
SELECT DISTINCT STUFF((
SELECT ',' + ENAME + '님'
FROM EMP
FOR XML PATH('')
),1,1,'')
FROM EMP
✔STUFF + FOR XML PATH 예시 결과2
여러 행의 컬럼 값을 구분값에 따라 문자열로 합쳐줄 수도 있다.
SELECT DISTINCT DEPT_CD,
STUFF((
SELECT ',' + ENAME + '님'
FROM EMP
WHERE DEPT_CD = A.DEPT_CD --DEPT_CD로 구분하여 문자열 출력
FOR XML PATH('')
),1,1,'') AS 'NAME'
INTO #CTE_EMP
FROM EMP AS A
2. 문자열 자르기 함수 (string_split)
string_split(문자열,구분자) 문자열을 구분자에 따라 여러 열로 잘라주는(분리해주는) 함수
✔string_split 예시
SELECT VALUE
FROM string_split((SELECT NAME
FROM #CTE_EMP
WHERE DEPT_CD = 111)
,',')
✔string_split 예시 결과
3. 문자열을 거꾸로 출력하기(REVERSE)
REVERSE(문자열): 문자열을 뒤집어서 반대 순서로 출력하는 함수
✔REVERSE 예시
SELECT ENAME, REVERSE(ENAME) AS 'REVERSE 결과'
FROM EMP
✔REVERSE 예시 결과
4. 문자열에 공백 삽입하기(SPACE)
SPACE(공백 크기): 지정한 수만큼의 공백 문자 반환
✔SPACE 예시
SELECT SPACE(10)+'SPACE' AS 'SPACE 결과'
SELECT SPACE(5)+'SPACE' AS 'SPACE 결과'
✔SPACE 예시 결과
'MS SQL' 카테고리의 다른 글
MS SQL_전체 테이블 및 컬럼 조회하는 법 (0) | 2022.10.19 |
---|---|
MS SQL_MERGE문 사용법 (0) | 2022.09.23 |
MS SQL_문자열 관련 함수 정리1(문자열 자르기, 특정 문자 위치 찾기, 문자열 치환, 공백 제거) (0) | 2022.09.15 |
MS SQL_CURSOR 연산자 사용법 (0) | 2022.09.08 |
MS SQL_LIKE 연산자 사용법 (0) | 2022.08.17 |