- 카테고리:
문자열 및 이진 함수 (일치/비교)
LIKE ALL¶
하나 이상의 패턴과의 비교를 기반으로 하여 문자열에 대한 대/소문자 구분 일치를 허용합니다.
작업은 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 |
+------------+