본문 바로가기

DB/Mysql(MariaDB)

MariaDB - 컬럼 내 문자 변경(Replcae)

728x90

DB를 관리하다 보면 특정 문자를 다른 문자로 변경해야 할 때가 있습니다. 이럴 때 REPLACE 함수를 자주 사용합니다.

 

REPLACE 함수란?

REPLACE 함수는 문자열 내에서 특정 문자를 다른 문자로 변경하는 기능을 합니다.

  1. 원본 문자열: 변경 전 원본 문자열입니다.
  2. 찾을 문자열: 원본 내 대상 문자열입니다.
  3. 교체 문자열: 새로 변경할 문자열입니다.

사용방법

REPLACE('원본 문자열', '찾을 문자열', '교체 문자열') 또는
REPLACE('컬럼', '찾을 문자열', '교체 문자열')

 

단순 문자열 교체

SELECT REPLACE('samsodb mysql', 'mysql', 'MariaDB');

'samsodb mysql' 이라는 문자열에서 'mysql' 을 'MariaDB' 로 변경해서 보여주는 SQL입니다.

 

테이블 데이터 수정

UPDATE customers SET phone = REPLACE(phone, '-', '');

customers 테이블의 phone 컬럼에서 모든 하이픈  ( '-' ) 을 제거하는 SQL입니다.

 

왜 REPLACE 함수를 사용하는가?

  • 데이터 입력 시 오타나 잘못된 데이터를 수정할 때
  • 특정 패턴을 다른 패턴으로 변환해야 할 때
  • 데이터 포맷을 일관성 있게 유지해야 할 때

 

REPLACE 함수와 함께 사용하면 좋은 함수

CONCAT 함수와 결합

SELECT CONCAT(REPLACE(first_name, 'sam', 'SAM'), '', REPLACE(last_name, 'so', 'SO')) AS full_name 
FROM user;

user 테이블의 first_name, last_name의 값을 변경하여 full_name으로 합치는 SQL입니다.

 

LENGTH 함수와 결합

SELECT REPLACE('samso good 1', ' ', '') AS no_spaces, LENGTH(REPLACE('samso good 1', ' ', '')) AS length

'samso good 1'이라는 문자열에 공백을 다 제거한 값을 no_spaces에 넣고 글자수를 length에 보여주는 SQL입니다.

728x90
반응형