안녕하세요.
SQL에서 문자열에 구분자를 추가하는 방법에 대해 알아보겠습니다.
SQL 구분자 추가하기 (QUOTENAME 등)
▣ SQL 구분 추가 사례
- MSSQL에서는 문자열에 구분자를 추가해주는 함수 QUOTENAME 존재함. (앞뒤로 구분자 추가)
= QUOTENAME('문자열', 구분자)
Example)
QUOTENAME('1A3B') => [1A3B]
QUOTENAME('1A3B', '-') => -1A3B-
- QUOTENAME 함수가 존재하지 않는 MYSQL에서는 함수를 생성해서 사용하면 됨.
DROP FUNCTION IF EXISTS QUOTENAME;
CREATE FUNCTION QUOTENAME(a varchar(50), b CHAR(1))
RETURNS VARCHAR(52)
RETURN CONCAT(b, REPLACE(a, b, CONCAT(b,b)), b);
: 구분자를 추가하여 컬럼 합쳐서 출력하기
DECLARE @out AS NVARCHAR(MAX)
--(MSSQL) 컬럼 내 값 합치기
SELECT @out = STUFF((SELECT ',' + QUOTENAME(a)
FROM table
FOR XML PATH(''),TYPE
).value('.','NVARCHAR(MAX)')
,1,1,'')
반응형
'Programming > SQL' 카테고리의 다른 글
[SQL] 예제 데이터 테이블 생성하기 (2) | 2023.11.04 |
---|---|
[SQL] 그룹별 비율 구하기(RATIO_TO_REPORT) (0) | 2023.10.29 |
[SQL] PIVOT & UNPIVOT 함수와 예제 (3) | 2023.07.05 |
[SQL] 그룹 소계 함수 및 예제 (ROLLUP, CUBE) (1) | 2023.07.02 |
[SQL] 다중 행 연산자 ALL & ANY (3) | 2023.06.30 |
댓글