티스토리 뷰

 

 

 

SQL CONCAT

 

SQL의 'CONCAT' 함수는 두 개 이상의 문자열을 하나의 단일 문자열로 결합하거나 연결하는 데 사용됩니다.

전체 이름을 생성하거나, 데이터를 병합하거나, 출력 결과의 형식을 지정하는 데 매우 유용합니다.

CONCAT(string1, string2, ..., stringN)

 

  • string1, string2, ..., stringN: 함께 결합하려는 문자열입니다.
  • 열, 문자열 리터럴 또는 표현식이 될 수 있습니다.

 

 

 

핵심 사항

 

CONCAT 함수는 문자열 사이에 자동으로 공백을 추가하지 않습니다.

공백을 원할 경우 함수에 공백을 명시적으로 포함해야 합니다.

인수 중 하나라도 NULL이면 NULL을 반환합니다. COALESCE 기능을 사용하면 이를 방지할 수 있습니다.

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

 

  • 여기서 first_name 및 last_name 열은 공백과 결합되어 full_name을 생성합니다.
  • 공백 문자(' ')는 이름과 성 사이에 공백이 있음을 나타냅니다.

 

사용 예제

 

1. 이름과 성을 결합

SELECT CONCAT('Order ID: ', order_id, ', Amount: $', amount) AS order_details
FROM orders;
  • 텍스트와 열 값을 연결하여 '주문 ID: [order_id], 금액: $[amount]' 형식의 문자열을 형성합니다. 

 

 

2. NULL 문제 방지

SELECT CONCAT(COALESCE(address_line1, ''), ', '
	 , COALESCE(city, ''), ', '
     , COALESCE(state, '')) AS full_address
FROM customers;
  • COALESCE는 NULL 값을 빈 문자열로 바꾸는 데 사용되어 연결이 NULL을 반환하지 않도록 합니다.

 

 

 

3. 공백 없이 연결

SELECT CONCAT(phone_country_code, phone_number) AS full_phone_number
FROM contacts;
  • 전화번호는 일부 특정 형식에 필요할 수 있는 공백이나 구분 기호 없이 연결됩니다.

 

 

 

4. 숫자 및 텍스트 사용

SELECT CONCAT('Total Sales: ', total_sales, ' USD') AS sales_report
FROM sales_summary;
  •  숫자와 문자열이 연결되어 읽기 가능한 보고서인 "총 매출: [total_sales] USD"를 생성합니다.

 

 

 

 

 

 

SQL 'CONCAT' 효과적으로 이해하고 사용하면 데이터베이스 쿼리가 크게 향상되어 출력이 더욱 의미 있고 해석하기 쉬워집니다.

일반적인 함정을 피하기 위해 가독성과 데이터 무결성을 모두 고려하는 쿼리 작성을 연습하세요.

 

 

 

 

 

반응형