티스토리 뷰
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'을 효과적으로 이해하고 사용하면 데이터베이스 쿼리가 크게 향상되어 출력이 더욱 의미 있고 해석하기 쉬워집니다.
일반적인 함정을 피하기 위해 가독성과 데이터 무결성을 모두 고려하는 쿼리 작성을 연습하세요.
반응형