카테고리:

문자열 및 이진 함수 (일치/비교)

REPLACE

지정된 하위 문자열이 발생할 때마다 해당 문자열을 제거하고, 선택적으로 다른 문자열로 바꿉니다.

구문

REPLACE( <subject> , <pattern> [ , <replacement> ] )
Copy

인자

subject

주제는 대체를 수행할 문자열입니다. 일반적으로 이는 열이지만, 리터럴일 수 있습니다.

pattern

이는 바꾸려는 하위 문자열입니다. 일반적으로 이는 리터럴이지만, 열 또는 식일 수 있습니다. 이는 《정규식》이 아닙니다. 정규식을 사용하여 패턴을 검색하려면 REGEXP_REPLACE 함수를 사용하십시오.

replacement

pattern 을 대체하는 데 사용되는 값입니다. 이 값이 생략되거나 빈 문자열인 경우, REPLACE 함수는 단순히 pattern 의 모든 발생 항목을 삭제합니다.

반환

반환된 값은 모든 대체가 완료된 후의 문자열입니다.

사용법 노트

  • replacement 를 지정하지 않는 경우, 모든 subject 발생 항목이 제거된 상태로 pattern 이 반환됩니다.

  • replacement 가 지정된 경우, 모든 pattern 발생 항목이 replacement 로 대체된 상태로 subject 가 반환됩니다.

  • 인자 중 하나라도 NULL인 경우, 결과도 NULL입니다.

참고

원래 subject 의 발생 항목만 고려됩니다. 결과에서 발생하는 pattern 은 제거/대체되지 않습니다.

데이터 정렬 세부 정보

Arguments with collation specifications are currently not supported.

abcdbc 문자열을 빈 문자열로 대체합니다.

SELECT REPLACE('abcd', 'bc') FROM DUAL;

+-----------------------+
| REPLACE('ABCD', 'BC') |
|-----------------------|
| ad                    |
+-----------------------+
Copy

값의 문자열을 지정된 대체로 대체합니다.

CREATE OR REPLACE TABLE replace_example(subject varchar(10), pattern varchar(10), replacement varchar(10));
INSERT INTO replace_example VALUES('snowman', 'snow', 'fire'), ('sad face', 'sad', 'happy');

SELECT subject, pattern, replacement, REPLACE(subject, pattern, replacement) AS new FROM replace_example;

+----------+---------+-------------+------------+
| SUBJECT  | PATTERN | REPLACEMENT | NEW        |
|----------+---------+-------------+------------|
| snowman  | snow    | fire        | fireman    |
| sad face | sad     | happy       | happy face |
+----------+---------+-------------+------------+
Copy