[SQL] TIL 2- SQL 기본적인 함수들 익히기

2023. 3. 9. 18:18DATA PROGRAMMING/SQL

1. CONCAT(), CONCAT_WS()

여러모로 쓸모가 많을것 같은 함수였다.  CONCAT()과 CONCAT_WS()은 간단하게 말하면 칼럼의 내용을 이어주는 함수라고 할 수 있다. 차이점은 CONCAT_WS()는 내용을 이어줄 매개체를 직접 설정해 줄수 있다는 것이다. 예를 들면 CONCAT_WS('-', '안녕', '하세요') 라고 입력시 안녕-하세요로 출력된다. 

 

 

SELECT 
EmployeeID AS '고객아이디',
CONCAT_WS('-', LastName, FirstName) as '고객이름',
Notes as '이력'
FROM Employees
WHERE Notes Like '%econo%'

Employees 테이블에서 LastName 컬럼과 FirstName 컬럼의 내용들을 '-'로 묶어서 하나의 컬럼으로 합쳐서 표현했다.

이처럼 CONCAT()함수를 사용하면 쉽게 두 칼럼의 내용을 하나로 합치는 것이 가능하다는 것을 알 수 있다.

또한 Notes열과 EmployeeID열도 함께출력하였으며, WHERE와 Like를 활용해 Notes 컬럼의 내용중 econo라는 문자를 포함한 내용들만을 출력하도록 했다. Like "%~~~~%" 함수는 특정 컬럼의 내용들이 방대할때 그 내용중 특정한 문자가 포함되어 있는지를 확인할때 매우 유용한 명령어인것 같다. 게다가 %를 사용하면 앞 ,뒤 내용에 상관 없이 econo라는 문자만 포함하면 되기에 편의가 증가한다. 예를 들면 '경제'와 관련된 전문가를 찾고 싶다면 economic, economy, economics, economical, economist 등 여러 단어를 확인해야 하지만 그냥 Like 함수와 %enoco%를 결합한다면 위 단어들중 무엇이든 확인할수 있으므로 매우 유용하다.

 

2. LPAD(), RPAD()

LPAD('123',5,'-') 함수는 '123'이 5글자가 되도록 '-'를 붙여주는 함수다. 출력은 '--123'이 될것이다.

 

SELECT
  LPAD(SupplierID, 5, 0),
  RPAD(Price, 6, 0)
FROM Products;

LPAD함수를 통해 모든 SupplierID 값들의 왼쪽에 0을 추가해 5자리처럼 처리할수 있게 만들수 있다.

RPAD함수를 통해 모든 Price 값들의 오른쪽에 0을 추가해 값들을 6자리처럼 처리할수 있게 만들수 있다.

 

 

'DATA PROGRAMMING > SQL' 카테고리의 다른 글

SQL - SQL로 PIVOT 테이블 만들기  (0) 2023.08.14
SQL - CTE를 이용해 Date Series 만들기  (0) 2023.08.12
재귀 조인의 사용  (0) 2023.08.12
SQL 관계 대수식 작성 연습  (0) 2023.07.11
[SQL] TIL 1 - SQL 기본 다루기  (0) 2023.01.30