DataBase/DataBase
문자열 결합 함수 CONCAT , GROUP_CONCAT ...
d-e-v-j
2024. 8. 16. 22:27
반응형
쿼리를 작성하다보면 문자열을 결합해야 하는 경우가 많다
그럴때 대부분의 SQL 에서 CONCAT을 사용한다.
한번 자세히 알아보자
1. CONCAT
두 개 이상의 문자열을 하나의 물자열로 결합하는데 사용한다
SELECT CONCAT('Hello', ' ', 'World') AS greeting;
// Hello World
조심해야 할것은 함수의 인수중 NULL이 있으면 결과도 NULL이 된다.
또 인수로 숫자등의 데이터가 있어도 자동으로 문자열로 변환되어 결합된다.
2. GROUP_CONCAT
그룹화된 행의 데이터를 하나의 문자열로 결합한다.
SELECT GROUP_CONCAT(name) AS all_names FROM users;
// 모든 NAME 값들이 쉼표(",")로 구분된 하나의 문자열로 반환
//구분자지정
SELECT GROUP_CONCAT(name SEPARATOR ' | ') AS all_names FROM users;
//중복제거
SELECT GROUP_CONCAT(DISTINCT name SEPARATOR ', ') AS all_names FROM users;
//결과 길이제한
SET SESSION group_concat_max_len = 10000;
//이건 권한이 없으면 안될수 있다. 최대가 10,000,000 이다.
3. CONCAT_WS
CONCAT과 유사하지만 첫번째 인수로 지정한 구분자를 사용하여 나머지 인수를 결합. NULL값은 무시 된다.
SELECT CONCAT_WS('-', '2024', '08', '16') AS date;
// "2024-08-16"
이렇게 문자를 쉽게 결합 할 수 있고
상황에 따라 필요한 함수로 깔끔하게 쿼리를 작성해보자.
728x90
반응형
LIST