BookmarkSubscribeRSS Feed

SQL - Concat

Started ‎01-29-2025 by
Modified ‎01-29-2025 by
Views 525

 

SQL은 데이터베이스에서 데이터를 조작, 조회, 관리를 위해 사용됩니다.

대량의 데이터를 분석하고 요약하거나 여러 개의 테이블을 연결하여 복합적인 데이터를 조회하며 데이터를 정리하고 가공할 때 자주 사용하는 분석도구입니다.

SAS에서는 DATA step 보다 간결한 코드 작성 가능하며 PROC SQL 문을 사용하여 SAS 데이터를 관계형 데이터 베이스 테이블처럼 사용할 수 있습니다.

 

SQL의 Concat 함수는 둘 이상의 문자열 값을 엔드투엔드 방식으로 연결하거나 조인한 결과를 문자열로 출력합니다.

string value 인수가 필요하며 둘 이상의 값이 없으면 오류가 발생합니다.

 

# CONCAT 기본 Syntax

다음은 CONCAT statement의 기본 Syntax입니다.

 

CONCAT (string_value1[,string_valueN])
• SELECT CONCAT('Hello','World','!');
• SELECT CONCAT('Agatha(first name)', '(middle name)', 'Christie(Last Name)') 
AS full_name FROM table1;

# Null 결합
• SELECT col1 
CONCAT(NULL, co1, col2) AS col 
FROM table1;

 

 

 

 

다음은 table2를 생성 및 데이터를 넣는 코드입니다.

 

create table table2(
  first_name varchar(20) not null,
  middle_name varchar(20),
  last_name varchar(20) not null, 
  age number)
  
insert into table2(first_name, middle_name, last_name, age)
  VALUES ('michael', 'James', 'Carter', 13);
  
insert into table2(first_name, middle_name, last_name, age)
  VALUES ('Emily', 'Grace', 'Thomson', 23);

insert into table2(first_name, middle_name, last_name, age)
  VALUES ('Sophia', 'Rose', 'Wilson', 44);

 

 image (12).png

 

 

 

 

 

■ Null 결합

> Null 결합은 어떤 문자열과 결합하더라도 결과는 Null로 반환합니다.

 

SELECT 
first_name, concat(null, first_name, last_name) as col from table2;

 

 

 

■ CONCAT_WS: 문자열 삽입

> Concat 문을 활용하면서 문자열을 더할 수 있습니다.

미리 구분자를 정의해서 자동으로 적용시킬 수 있습니다. 첫번째 인수는 나머지 인수의 구분 기호로 연결할 문자열 사이에 구분 기호가 추가됩니다.

 

 

SELECT 
CONCAT_WS(',', first_name, last_name) AS COL2
FROM TABLE2;

 

 

image.png

 

 

 

 

 

> CONCAT_WS 는 비어있는 열을 그대로 적용합니다.

합치려는 열에 NULL 이 있을 경우 결과가 NULL 이 아닌 문자의 결합으로 결과가 출력됩니다.

 

 

SELECT 
CONCAT_WS(',', first_name,NULL, last_name) AS COL2
FROM TABLE2;

 

 image (1).png

 

 

Contributors
Version history
Last update:
‎01-29-2025 03:14 AM
Updated by:

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

Article Labels
Article Tags