반응형
CONCAT_WS()
이 함수는 사용자가 지정한 것(문자열, 컬럼)들을 구분자로 구분 한 뒤 결합하는 데 사용한다.
아래의 그림을 보면 간단히 이해 할 수 있는데, 내가 연결할 문자열들 사이에 넣을 구분자(separator)를 설정하고, 그다음에 문자열들을 나열한다. 구분자를 맨 앞에 지정해서 인수를 넣어준다는 데에 의미가 있는 것 같다.
[1] 사용 형태
1. 문자열을 연결하여 출력
SELECT CONCAT_WS('@','QWERTY', 'DAUM.NET');
-> 결과는
QWERTY@DAUM.NET
2. 각 열끼리의 연결 및 일괄적으로 문자열 삽입
ID_NUM | NAME | COUNTRY | CITY |
1 | 강박사 | 대한민국 | 서울 |
2 | 줄줄이 | 대한민국 | 부산 |
SELECT CONCAT_WS('&', COUNTRY, CITY) #COUNTRY와 CITY는 컬럼이므로 '로 감싸지 않는다.
-> 결과는
대한민국&서울대한민국&부산
3.WHERE 절에 사용한 CONCAT
SELECT CONCAT(COUNTRY, '(', CITY, ')') #조건에 맞는 것을 가지고 올때, COUNTRY(CITY)로 출력해라!
FROM TABLE # 이테이블에서
WHERE CONCAT_WS('_', ID_NUM, NAME) = "2_줄줄이" ; #ID_NAME=2_줄줄이에 해당하는 조건
SELECT CONCAT(COUNTRY, '(', CITY, ')')
FROM TABLE # 이 테이블에서
WHERE CONCAT_WS('_', ID_NUM, NAME) = "2_줄줄이" # ID_NAME=2_줄줄이에 해당하는 조건
-> 결과는
대한민국(부산)
[2] 참고 사항
1. 만약 연결하려는 값 중, NULL이 있다면 NULL을 무시하고 출력한다.
- CONCAT함수와는 다른 부분. CONCAT 함수는 NULL이 포함되어있는 부분은 NULL로 결과가 출력된다. 아래 SELECT문을 보면, 중간에 NULL이 있다. CONCAT 함수는 이 경우 전체 출력이 NULL로 되지만, CONCAT_WS 함수는 이를 무시하고 출력한다.
SELECT CONCAT_WS(':::', 'HELLO', NULL, 'BYE');
-> 결과는
HELLO:::BYE
[3] 참고 자료
https://www.w3resource.com/mysql/string-functions/mysql-concat_ws-function.php
반응형
'DataBase > MYSQL' 카테고리의 다른 글
[MYSQL] CHAR_LENGTH 함수 - 문자열 길이 (2) | 2021.05.31 |
---|---|
[MYSQL] LIKE 함수 - 특정 문자 검색하기 (1) | 2021.05.26 |
[MYSQL] MID/ SUBSTRING/ SUBSTR 함수 - 문자열 일부 가져오기 (0) | 2021.05.25 |
[MYSQL] LEFT/ RIGHT 함수 - 문자열 일부 가져오기 (0) | 2021.05.24 |
[MYSQL] CONCAT 함수 (0) | 2021.05.23 |
댓글