🐬 MySQL/MySQL 함수

SQL CONCAT() 활용법 : 데이터 조합의 핵심 도구

itstory(Booho) 2024. 11. 27. 19:51
728x90

2024.11.30 - [데이터베이스/MySQL 실습문제] - SQL CONCAT() 함수를 이용한 연습문제 10개

 

SQL CONCAT() 함수를 이용한 연습문제 10개

2024.11.27 - [데이터베이스/MySQL 문자열 함수] - SQL CONCAT() 활용법 : 데이터 조합의 핵심 도구 SQL CONCAT() 활용법 : 데이터 조합의 핵심 도구SQL CONCAT() :  문자열 결합의 마법사오늘은 SQL에서 문자열을

itstory05.tistory.com

 

SQL CONCAT() :  문자열 결합의 마법사

 SQL에서 문자열을 결합하는 강력한 도구인 CONCAT() 함수에 대해 자세히 알아보겠습니다.

 CONCAT()은 여러 문자열을 하나로 합치는 데 사용되며, 데이터 표현과 가공에 매우 유용합니다.

 

 

CONCAT() 함수의 기본 구문

  CONCAT() 함수의 기본 구문은 다음과 같습니다

  이 함수는 두 개 이상의 문자열을 인자로 받아 하나의 문자열로 결합합니다.

 

SQL

CONCAT(문자열1, 문자열2, ..., 문자열N)​
  • 문자열1, 문자열2, ..., 문자열N: 이어붙이고 싶은 여러 문자열을 쉼표로 나열하면 됩니다.

 

  예시

   1. 간단한 문자열 합치기

SELECT CONCAT('Hello', ' ', 'World')
FROM USERS;

"Hello"와 " "(공백) 그리고 "World"를 이어붙여요.

결과: 'Hello World'

 

 

 

   2. 이름과 성 합치기

SELECT CONCAT('김', '철수')
FROM USERS;

"김"과 "철수"를 합쳐요.
결과: '김철수'

 

 

   3. 숫자와 문자열 합치기

SELECT CONCAT('Order ID: ', 12345)
FROM USERS;

문자열 "Order ID: "와 숫자 12345를 합쳐요.
결과: 'Order ID: 12345'

 

 

 

   쉽게 생각하기

   CONCAT()는 문자열을 풀로 붙이듯 연결하는 함수!

   일상적인 비유

  • 문자열1: "안녕하세요, "
  • 문자열2: "저는 AI입니다."

   결과: "안녕하세요, 저는 AI입니다."

 

CONCAT()의 실제 활용 사례

   주소 포맷팅

SELECT CONCAT(street_address, ', ', city, ', ', state, ' ', zip_code) AS full_address
FROM customers;

 

 

   URL 생성

SELECT CONCAT('https://example.com/products/', product_id, '/', product_name) AS product_url
FROM products;

 

 

   이메일 주소 생성

SELECT CONCAT(username, '@', domain) AS email_address
FROM users;

 

 

CONCAT()과 다른 함수의 조합

   1. CONCAT_WS() 함수 사용

SELECT first_name,last_name, concat_ws("-",first_name,last_name)
FROM employees;

CONCAT_WS()는 첫 번째 인자를 구분자로 사용하여 나머지 인자들을 결합합니다.

첫번째 자리는(컬럼과 컬럼사이에 들어갈 문구)

 

 

   2. IFNULL()과 함께 사용

SELECT CONCAT(first_name, ' ', IFNULL(middle_name, ''), ' ', last_name) AS full_name
FROM employees;

 

요약:

  • 문자열을 연결하고 싶을 때 쓰는 도구!
  • 공백이나 특수 문자를 넣고 싶으면 따로 추가해주면 됩니다.
    예 : CONCAT('Hello', ', ', 'World!') → 'Hello, World!' 😊

CONCAT() 사용 시 주의사항

  1. NULL 값 처리 : CONCAT()에 NULL 값이 포함되면 전체 결과가 NULL이 됩니다.
  2. 데이터 타입 변환 : 숫자나 날짜를 결합할 때는 자동으로 문자열로 변환됩니다.
  3. 문자셋 고려 : 다른 문자셋의 문자열을 결합할 때 주의가 필요합니다.

 

 

 

728x90