CONCAT_WS 함수를 알아보기에 앞서 CONCAT 함수에 대해서 간략하게 보고 오시면 좋을 것 같아요.
[MySQL] 원하는 문자열 연결해서 추출하는 방법 CONCAT()
기본 형태 > CONCAT('문자열1', '문자열2', ...) 예시 1) SELECT CONCAT('Hello', 'World'); 결괏값: 'HelloWorld' 주의사항! > CONCAT 함수 안에 NULL 값이 하나라도 존재한다면 NULL 값이 반환됩니다. SELECT CONCAT('HELLO', 'WO
wnwa.tistory.com
CONCAT 함수와 CONCAT_WS 함수는 핵심인 '문자열 연결'은 동일하지만 몇 가지 차이점이 존재해요.
이를 CONCAT_WS 함수의 특징을 통해서 알아보도록 하겠습니다.
기본형태
CONCAT_WS(구분자, 문자열, 문자열, ..)
1. 구분자를 지정해줘야 한다. (구분자 지정 필수!)
SELECT CONCAT_WS('.', 'HELLO', 'WORLD', 'GOOD');
결괏값: HELLO.WORLD.GOOD
SELECT CONCAT_WS('', 'HELLO', 'WORLD', 'GOOD');
결괏값: HELLOWORLDGOOD
SELECT CONCAT_WS(' ', 'HELLO', 'WORLD', 'GOOD');
결괏값: HELLO WORLD GOOD
> CONCAT 함수에서 구분자를 넣기 위해서는 아래와 같이 구분자를 하나씩 입력해줘야 해요. 이러한 수고를 덜하려면 CONCAT_WS 함수에서 구분자 지정을 통해 쉽게 해결할 수 있습니다.
SELECT CONCAT('HELLO', '.', 'WORLD', '.', 'GOOD');
결괏값: HELLO.WORLD.GOOD
2. NULL값이 있어도 괜찮다.
SELECT CONCAT_WS(' ', 'HELLO', NULL, 'WORLD');
결괏값: HELLO WORLD
SELECT CONCAT_WS(',', 'HELLO', NULL, 'WORLD');
결괏값: HELLO,WORLD
> CONCAT 함수에 NULL 값이 하나라도 포함되어 있으면 NULL이 반환되는 반면, CONCAT_WS 함수에는 NULL 값이 있어도 이를 무시하고 문자열을 연결해줘요.
* GROUP_CONCAT 함수도 있으니 같이 알아보면 좋을 것 같아요. 감사합니다.
[MySQL] 조건에 맞는 값들을 묶어서 출력하기 GROUP_CONCAT
1) 예시로 기본 사용법 알아보기 - 'department1' TABLE 기본 형태 - GROUP_CONCAT 함수 적용한 'department1' TABLE 위와 같이 '같은 팀' 조건에 해당하는 값들을 묶어서 출력하는 쿼리는 아래와 같습니다. SELECT t
wnwa.tistory.com