- 카테고리:
문자열 및 이진 함수 (일치/비교)
REPLACE¶
지정된 하위 문자열이 발생할 때마다 해당 문자열을 제거하고, 선택적으로 다른 하위 문자열로 바꿉니다.
구문¶
REPLACE( <subject> , <pattern> [ , <replacement> ] )
인자¶
subject
주제는 대체를 수행할 문자열입니다. 일반적으로 이는 열이지만, 리터럴일 수 있습니다.
pattern
이는 바꾸려는 하위 문자열입니다. 일반적으로 이는 리터럴이지만, 열 또는 식일 수 있습니다. 이는 “정규식”이 아닙니다. 정규식을 사용하여 패턴을 검색하려면 REGEXP_REPLACE 함수를 사용하십시오.
replacement
pattern
을 대체하는 데 사용되는 값입니다. 이 값이 생략되거나 빈 문자열인 경우,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
(대/소문자 구분, 악센트 구분 안 함).
참고
upper
또는 lower
데이터 정렬 지정자가 있는 열에 이 함수를 사용하려면 계정에서 2024_02 동작 변경 번들을 활성화 해야 합니다.
계정에서 이 번들을 활성화하려면 다음 문을 실행하십시오.
SELECT SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE('2024_02');
예¶
문자열 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
를 생성했습니다.