SQL REGEXP_REPLACE

Sql Regexp Replace



개발자가 부르는 텍스트 데이터 또는 문자열은 모든 기능적 프로그램의 주요 구성 요소입니다. 이는 데이터를 저장하는 경우에도 다르지 않습니다. 거의 모든 데이터베이스에는 이름, 로그 등과 같은 특정 형태의 텍스트 정보가 포함되어 있습니다.

따라서 문자열 조작은 문자열 값을 조작하고 특정 형식으로 변환하는 일반적인 작업입니다.

문자열 작업을 처리하는 SQL의 가장 강력한 함수 중 하나는 REGEXP_REPLACE() 함수입니다. 이 기능을 사용하면 정규식 기반 검색 및 바꾸기를 수행할 수 있습니다. 정규식에 익숙하다면 이 기능이 얼마나 강력한지 알 수 있습니다.







이 튜토리얼에서는 이 기능을 사용하여 SQL 데이터베이스에서 문자열을 검색하고 바꾸는 방법을 알아봅니다.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE()는 주어진 문자열 내에서 정규식 기반 패턴 일치 및 교체를 수행할 수 있게 해주는 함수입니다.



정규식 또는 regex는 특정 패턴을 따르는 문자열 또는 하위 문자열을 일치시키고 조작할 수 있는 설정된 패턴이자 자리 표시자입니다.





각 데이터베이스 엔진은 함수의 구문과 기능을 조금씩 구현할 수 있다는 점을 염두에 두는 것이 좋습니다.

그러나 구문을 다음과 같이 표현할 수 있습니다.



REGEXP_REPLACE(input_string, 패턴, 교체 [, 플래그])

함수 매개변수는 다음과 같이 표현됩니다.

  1. input_string - 검색하고 바꾸려는 문자열을 지정합니다.
  2. 패턴 – 입력 문자열 내에서 일치시키려는 정규식 패턴을 지정합니다.
  3. 대체 – 일치하는 하위 문자열을 대체할 문자열을 지정합니다.
  4. 플래그 – 정규식의 기능을 수정하는 데 도움이 될 수 있는 선택적 플래그 집합입니다. 예를 들어 전역 검색, 대소문자 구분 일치 등을 활성화할 수 있습니다. 이 기능은 데이터베이스 엔진에 따라 다릅니다.

예:

이 기능의 작동 방식을 더 잘 이해하기 위해 사용 방법에 대한 몇 가지 예를 살펴보겠습니다.

예 1: 기본 사용법

다음 예제 출력과 같이 직원 정보가 포함된 테이블이 있다고 가정합니다.

'Charlie' 문자열을 'Matthew'로 바꾸고 싶은 경우를 생각해 보세요. 쿼리를 다음과 같이 사용할 수 있습니다.

선택하다

REGEXP_REPLACE(first_name, '찰리', '매튜') AS new_name

에서

직원;

주어진 예에서는 'first_name' 열에서 'Charlie' 문자열을 찾아 'Matthew'로 바꾸는 기본 검색 및 바꾸기를 보여줍니다.

산출:

예 2: 대소문자를 구분하지 않는 교체

경우에 따라 대소문자를 구분하지 않고 검색을 수행해야 할 수도 있습니다. 즉, 함수는 문자열 내용만 확인하고 영숫자 문자의 실제 대/소문자는 확인하지 않습니다.

이러한 경우 다음과 같이 'i'를 함수 플래그로 사용합니다.

SELECT REGEXP_REPLACE(product_description, Samsung, Apple, 'i') 수정됨

제품에서;

플래그를 'i'로 설정하면 대소문자에 관계없이 'Samsung'과 일치하는 모든 단어와 일치합니다.

결론

이 예에서는 REGEXP_REPLACE() 함수를 사용하고 작업하여 정규식 패턴 기반 검색 및 바꾸기를 수행하는 방법을 살펴보았습니다.