카테고리:

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

LIKE ALL

하나 이상의 패턴과의 비교를 기반으로 하여 문자열에 대한 대/소문자 구분 일치를 허용합니다.

작업은 LIKE 와 유사합니다. 입력 문자열이 모든 패턴과 일치하는 경우에만 입력 문자열을 반환합니다.

참고 항목:

LIKE

구문

<subject> LIKE ALL (<pattern1> [, <pattern2> ... ] ) [ ESCAPE <escape_char> ]

인자

필수:

subject

패턴과 비교할 문자열입니다.

pattern#

문자열이 비교되는 패턴입니다. 하나 이상의 패턴을 지정해야 합니다.

선택 사항:

escape_char

와일드카드가 와일드카드로서가 아니라 일반 문자로 해석되어야 함을 나타내기 위해 와일드카드 문자 앞에 삽입된 문자입니다.

반환

반환된 값의 데이터 타입은 VARCHAR 입니다.

사용법 노트

  • SQL 와일드카드는 pattern 에서 지원됩니다.

    • 밑줄(_)은 단일 문자와 일치합니다.

    • 퍼센트 기호(%)는 0개 이상의 문자 시퀀스와 일치합니다.

  • pattern 의 와일드카드는 subject 에 줄 바꿈 문자(\n)를 일치 항목으로서 포함합니다.

  • 패턴이 전체 입력 문자열(주제)과 일치하는 경우, 패턴은 일치 항목으로 간주됩니다. 문자열 내의 임의의 위치에서 시퀀스를 일치시키려면 패턴을 % 로 시작하고 끝내십시오(예: %something%).

  • NULL은 NULL과 일치하지 않습니다. 즉, 주제가 NULL이고 패턴 중 하나가 NULL이면 이는 일치 항목으로 간주되지 않습니다.

  • 함수가 하위 쿼리와 함께 사용되는 경우, 하위 쿼리는 단일 행을 반환해야 합니다.

    예를 들어, 다음은 하위 쿼리가 단일 행을 반환하는 경우에만 사용해야 합니다.

    SELECT ...
        WHERE x LIKE ALL (SELECT ...)
    

일부 문자열이 포함된 테이블을 만듭니다.

CREATE OR REPLACE TABLE like_all_example(subject varchar(20));
INSERT INTO like_all_example VALUES
    ('John  Dddoe'),
    ('Joe   Doe'),
    ('John_do%wn'),
    ('Joe down'),
    ('Tom   Doe'),
    ('Tim down'),
    (null);

이 쿼리는 와일드카드(%)가 있는 패턴을 사용하여 일치 항목을 찾는 방법을 보여줍니다.

SELECT * 
  FROM like_all_example 
  WHERE subject LIKE ALL ('%Jo%oe%','J%e')
  ORDER BY subject;
+-------------+
| SUBJECT     |
|-------------|
| Joe   Doe   |
| John  Dddoe |
+-------------+

이 쿼리는 성공적인 결과를 위해 모든 패턴이 어떻게 일치해야 하는지 보여줍니다.

SELECT * 
  FROM like_all_example 
  WHERE subject LIKE ALL ('%Jo%oe%','J%n')
  ORDER BY subject;
+---------+
| SUBJECT |
|---------|
+---------+

이 쿼리는 일반적으로 와일드카드(_%)인 문자를 리터럴로 처리해야 함을 나타내기 위해 이스케이프 문자를 사용하는 방법을 보여줍니다.

SELECT * 
  FROM like_all_example 
  WHERE subject LIKE ALL ('%J%h%^_do%', 'J%^%wn') ESCAPE '^'
  ORDER BY subject;
+------------+
| SUBJECT    |
|------------|
| John_do%wn |
+------------+
맨 위로 이동