아래 예제 쿼리는 CONCAT, CONCAT_WS 함수를 활용해서 문자열을 결합하고 두 함수의 차이점에 대해서 말씀 드리겠습니다.
사용법
1. CONCAT 함수
CONCAT(string1, string2, ...)
SELECT CONCAT('Hello', ' ', 'World') AS result; //출력 : Hello World
ㅇ CONCAT 함수는 구분자를 사용하지 않고 문자열을 단순히 연결합니다.
ㅇ string1, string2, ... 결합하려는 문자열의 목록입니다. 여러 개의 인수를 전달하여 필요한 수만큼 문자열을 연결할 수 있습니다.
ㅇ 예를 들어, CONCAT('Hello', 'World')는 "HelloWorld"를 반환합니다.
2. CONCAT_WS 함수
CONCAT_WS(separator, string1, string2, ...)
ㅇ CONCAT_WS 함수는 문자열을 결합할 때 구분자를 사용하여 연결하는 데 사용됩니다.
ㅇ separator: 문자열을 결합할 때 사용할 구분자입니다. 구분자는 결과 문자열의 각 구성 요소 사이에 삽입됩니다.
ㅇ string1, string2, ... 결합하려는 문자열의 목록입니다. 여러 개의 인수를 전달하여 필요한 수만큼 문자열을 연결할 수 있습니다.
ㅇ 예를 들어, CONCAT_WS(', ', 'Apple', 'Banana', 'Cherry')는 Apple, Banana, Cherry를 반환합니다.
SELECT CONCAT_WS('-', '2023', '09', '11') AS date; //출력 결과 : 2023-09-11
차이점 : CONCAT은 간단한 문자열 연결에 사용되고 구분자를 제공하지 않으며, CONCAT_WS는 구분자를 사용하여 문자열을 연결하고 보다 구조화된 문자열을 생성하는 데 유용합니다.
예제
SELECT CONCAT(first_name, ' ', last_name) AS full_name, date_of_birth
FROM students;
students 테이블에서 first_name과 last_name 필드를 공백으로 구분하여 하나의 full_name 문자열로 결합하였습니다.
SELECT CONCAT_WS('-', first_name, last_name) AS full_name, date_of_birth
FROM students;
first_name과 last_name을 하이픈(-)으로 구분하여 결합하며 출력 했습니다.
'개발이야기 > MySQL' 카테고리의 다른 글
[MySQL] 뷰(VIEW) 테이블 생성하기, 예제, 사용법과 목적 (0) | 2023.09.22 |
---|---|
[MySQL] 문자열 대문자, 소문자 변환하기 (UPPER, LOWER 사용법/예제) (0) | 2023.09.12 |
[MySQL] LIMIT, OFFSET 사용해서 데이터 검색하고 제한하기 (0) | 2023.09.11 |
[MySQL] WITH ROLLUP 사용해서 데이터 합계, 집계 하기 (0) | 2023.09.07 |
[MySQL] sql_mode=only_full_group_by 에러 간단히 해결하기 (sql_mode 변경하기) (0) | 2023.09.06 |
댓글