- 카테고리:
문자열 및 이진 함수 (일치/비교)
REPLACE¶
지정된 하위 문자열이 발생할 때마다 해당 문자열을 제거하고, 선택적으로 다른 하위 문자열로 바꿉니다.
구문¶
REPLACE( <subject> , <pattern> [ , <replacement> ] )
인자¶
subject주제는 대체를 수행할 문자열입니다. 일반적으로 이는 열이지만, 리터럴일 수 있습니다.
pattern이는 바꾸려는 하위 문자열입니다. 일반적으로 이는 리터럴이지만, 열 또는 식일 수 있습니다. 이는 “정규식”이 아닙니다. 정규식을 사용하여 패턴을 검색하려면 REGEXP_REPLACE 함수를 사용하십시오.
replacementpattern을 대체하는 데 사용되는 값입니다. 이 값이 생략되거나 빈 문자열인 경우,REPLACE함수는 단순히pattern의 모든 발생 항목을 삭제합니다.
반환¶
반환된 값은 모든 대체가 완료된 후의 문자열입니다.
사용법 노트¶
replacement를 지정하지 않는 경우, 모든subject발생 항목이 제거된 상태로pattern이 반환됩니다.replacement가 지정된 경우, 모든pattern발생 항목이replacement로 대체된 상태로subject가 반환됩니다.인자 중 하나라도 NULL인 경우, 결과도 NULL입니다.
참고
원래 subject 의 발생 항목만 고려됩니다. 결과에서 발생하는 pattern 은 제거/대체되지 않습니다.
데이터 정렬 세부 정보¶
The collation specifications of all input arguments must be compatible.
이 함수는 다음 데이터 정렬 사양을 지원하지 않습니다.
pi(구두점 구분 안 함).cs-ai(대/소문자 구분, 악센트 구분 안 함).
예¶
문자열 down 을 문자열 up 으로 바꿉니다.
SELECT REPLACE('down', 'down', 'up');+-------------------------------+ | REPLACE('DOWN', 'DOWN', 'UP') | |-------------------------------| | up | +-------------------------------+
문자열 Vacation in Athens 의 하위 문자열 Athens 를 하위 문자열 Rome 으로 바꿉니다.
SELECT REPLACE('Vacation in Athens', 'Athens', 'Rome');+-------------------------------------------------+ | REPLACE('VACATION IN ATHENS', 'ATHENS', 'ROME') | |-------------------------------------------------| | Vacation in Rome | +-------------------------------------------------+
문자열 abcd 의 하위 문자열 bc 를 빈 하위 문자열로 바꿉니다.
SELECT REPLACE('abcd', 'bc');+-----------------------+ | REPLACE('ABCD', 'BC') | |-----------------------| | ad | +-----------------------+
테이블의 값을 새 값으로 바꿉니다.
테이블을 만들고 채웁니다.
CREATE OR REPLACE TABLE replace_example( subject VARCHAR(10), pattern VARCHAR(10), replacement VARCHAR(10)); INSERT INTO replace_example VALUES ('old car', 'old car', 'new car'), ('sad face', 'sad', 'happy'), ('snowman', 'snow', 'fire');값의 문자열을 지정된 대체로 대체합니다.
SELECT subject, pattern, replacement, REPLACE(subject, pattern, replacement) AS new FROM replace_example ORDER BY subject;+----------+---------+-------------+------------+ | SUBJECT | PATTERN | REPLACEMENT | NEW | |----------+---------+-------------+------------| | old car | old car | new car | new car | | sad face | sad | happy | happy face | | snowman | snow | fire | fireman | +----------+---------+-------------+------------+출력에는 다음 대체 항목이 표시됩니다.
문자열
old car가 문자열new car로 바뀌었습니다.문자열
sad face에서 하위 문자열sad가 하위 문자열happy로 바뀌어 새 문자열happy face를 생성했습니다.문자열
snowman에서 하위 문자열snow가 하위 문자열fire로 바뀌어 새 문자열fireman를 생성했습니다.