오라클 라이크

Olakeul Laikeu



Oracle 및 기타 관계형 데이터베이스에서 패턴 일치는 특수 구문을 사용하여 문자열 패턴을 검색할 수 있는 인기 있는 기능입니다. 예를 들어 패턴 일치 연산자 및 함수를 사용하여 대규모 문자열 집합 내에서 하위 문자열을 검색할 수 있습니다.

이는 데이터베이스에 상당한 성능 저하를 초래하지 않고 간단한 검색 절을 구축하는 데 매우 유용합니다.







이 자습서에서는 Oracle의 LIKE 연산자를 통해 패턴 일치 쿼리를 수행합니다.



오라클 LIKE 연산자

Oracle의 LIKE 연산자를 사용하면 주어진 열에서 특정 패턴을 검색할 수 있습니다. 예를 들어 고객의 이름이 'Ja' 패턴으로 시작하는 모든 행을 찾는 데 사용할 수 있습니다.



특정 패턴을 기반으로 결과를 필터링하기 위해 WHERE 절과 같은 다른 SQL 절과 함께 이 연산자를 사용하는 경우가 많습니다.





아래와 같이 SQL에서 LIKE 연산자의 구문을 표현할 수 있습니다.

표현식 LIKE 패턴 [ 탈출하다 'escape_character' ]



  1. 표현식 매개변수는 검색하려는 열을 지정합니다.
  2. 패턴 매개변수는 검색하려는 특정 패턴을 정의합니다. 지정된 패턴은 % 및 _와 같은 와일드카드 문자를 포함하여 각각 임의 개수의 문자 또는 단일 문자와 일치할 수 있습니다.
  3. 실제 와일드카드 문자를 검색하는 데 사용되는 이스케이프 문자를 지정하기 위해 ESCAPE 절을 포함할 수도 있습니다.

Oracle LIKE 연산자 예

다음 예는 Oracle 테이블에서 LIKE 연산자를 사용하는 방법을 보여줍니다.

아래와 같이 고객 정보를 포함하는 테이블이 있다고 가정합니다.

예 1 – % 와일드카드 문자 사용

% 와일드카드 문자를 사용하여 0개 이상의 문자열을 일치시킬 수 있습니다. 예를 들어 'Will%'라는 이름이 포함된 테이블의 모든 항목을 찾을 수 있습니다.

아래 표시된 직원 테이블을 가져옵니다.

고르다 이름, 성, 급여
직원들로부터
FIRST_NAME님이 좋아하는 곳 '할 것이다%'
first_name으로 주문;

이전 쿼리는 직원 테이블에서 first_name, last_name 및 급여 열을 선택하고 결과 값을 first_name 열별로 정렬합니다.

또한 LIKE 연산자와 함께 where 절을 % 와일드카드 문자와 결합하여 이름이 'Will'로 시작하는 행만 가져옵니다.

이렇게 하면 행이 다음과 같이 반환됩니다.

% 와일드카드 문자를 사용하여 특정 패턴으로 끝나는 행을 가져올 수도 있습니다.

아래에 예가 나와 있습니다.

고르다 이름, 성, 급여
직원들로부터
FIRST_NAME님이 좋아하는 곳 '%이다'
first_name으로 주문;

이 경우 이전 쿼리는 이름이 'er'로 끝나는 모든 행을 반환해야 합니다. 결과 값의 예는 다음과 같습니다.

Oracle 데이터베이스의 LIKE 연산자는 기본적으로 대소문자를 구분하므로 특정 패턴을 검색하는 동안 이를 염두에 두어야 합니다. lower 및 upper와 같은 다른 함수를 사용하여 이 동작을 무효화할 수 있습니다.

예 2 – 이스케이프 절 사용

다음 예는 Oracle LIKE 연산자에서 ESCAPE 절을 사용하는 방법을 보여줍니다.

고르다 이름, 성, 급여, 커미션_pct
직원들로부터
여기서 Commission_pct는 다음과 같습니다. '이십\%' 탈출하다 '\' ;

이전 쿼리는 EMPLOYEES 테이블에서 first_name, last_name, salary 및 Commission_pct 열을 선택합니다. WHERE 절은 ESCAPE 절과 함께 LIKE 연산자를 사용하여 Commission_pct 열에 문자열 '20%'(와일드 카드가 아닌 리터럴 % 문자 포함)가 포함된 레코드를 가져옵니다.

이 경우 문자열 20%를 검색할 때 % 문자를 백슬래시(\) 문자로 이스케이프합니다. 이를 통해 LIKE 연산자는 % 문자를 와일드카드로 처리하는 대신 정확한 문자열 '20%'를 검색할 수 있습니다.

이 쿼리는 EMPLOYEES 테이블에서 해당 행의 first_name, last_name 및 급여 열과 함께 Commission_pct 열에 정확한 문자열 '20%'가 포함된 모든 행을 반환합니다.

결론

이 게시물에서는 Oracle 데이터베이스에서 LIKE 연산자를 사용하여 테이블에서 특정 패턴을 검색하는 방법을 배웠습니다. 와일드카드 문자와 ESCAPE 절 사용을 강조하기 위해 몇 가지 예가 제공됩니다.