kakasoo

[Postgresql] 문자열 합치기 & 가공하기 본문

프로그래밍/SQL

[Postgresql] 문자열 합치기 & 가공하기

카카수(kakasoo) 2023. 1. 6. 22:54
반응형

유저의 배송지 테이블에 address(주소), addressDetail(상세 주소), userId(유저의 아이디) 칼럼이 존재한다.

다만 주소와 상세 주소를 각기 나눠서가 아니라, 하나로 합친 텍스트로 조회를 하고 싶다.

이럴 경우에 사용하는 것이 CONCAT 함수다.

 

SELECT
  ab. "userId" AS "userId",
  CONCAT(oi.address, oi. "addressDetail")
FROM
  address_book AS ab;

 

이 쿼리의 결과는 유저의 아이디와 합쳐진 주소 문자로 이루어진 두 칼럼을 반환한다.

CONCAT 함수는 개수 제한 없이 파라미터를 받아, 파라미터를 모두 합친 문자열로 바꿔준다.

그래서 위처럼 두 개의 칼럼보다 더 많은 칼럼을 받을 수 있고, 또한 칼럼이 아닌 단순 텍스트, 다른 타입도 허용한다.

그래서 아래 같은 일도 가능하다.

 

SELECT CONCAT('a', 'b', 'c', 1, CURRENT_TIMESTAMP);

 

따라서 CONCAT 함수는 문자열을 합칠 뿐만 아니라, 텍스트를 가공할 때에도 매우 유용하게 쓰일 수 있다.

반응형