반응형

[PostgresSQL] 컬럼 내 특정 문자로 split 후 값 출력

    사용법은 split_part('원래 문자열', '자를 문자', 위치) 로 사용한다. 

postgresql 에서 문자열 또는 필드를 붙일 경우는 concat 함수를 사용한다.

  • 문자열 합치기: '||' 연산자
  • 문자열 합치기: CONCAT() 함수
  • 구분자를 포함하여 문자열 합치기: CONCAT_WS() 함수


 

 

-- split_part(컬럼,자르고자하는 문자, 인덱스)


-- ex
select split_part(tel,'-',4)
from test
-- test 테이블의 tel 컬럼에서 - 문자로 자른 후 4번째에 있는 데이터를 출력 (index는 0이 아닌 1부터 시작)




update 테이블이름 set 
  year = split_part(date::TEXT, '-', 1)::SMALLINT
, month=split_part(date::TEXT, '-', 2)::SMALLINT

-- concat 

SELECT employee_id,first_name,last_name,
concat(first_name,'-',last_name) "Name of the Employee" 
FROM employees
WHERE department_id=100;

SELECT	*
	, col_1 || ', ' || col_2 AS db_name
	, id || ' : ' || col_2 AS db_id
FROM char_type_test;

-- (3) CONCAT_WS : CONCAT With Separator
-- : CONCAT_WS(separator, str_1, str_2, ...);

SELECT 	*
	, CONCAT_WS(', ', col_1, col_2) AS db_name_3
	, CONCAT_WS(' : ', id, col_2) AS db_id_3
FROM char_type_test;
반응형

+ Recent posts