- 카테고리:
문자열 및 이진 함수 (일치/비교)
LIKE ANY¶
하나 이상의 패턴과의 비교를 기반으로 하여 문자열에 대한 대/소문자 구분 일치를 허용합니다.
작업은 LIKE
와 유사합니다. 입력 문자열이 패턴 중 하나와 일치하면 입력 문자열을 반환합니다.
- 참고 항목:
구문¶
<subject> LIKE ANY (<pattern1> [, <pattern2> ... ] ) [ ESCAPE <escape_char> ]
인자¶
필수:
subject
패턴과 비교할 문자열입니다.
pattern#
문자열이 비교되는 패턴입니다. 하나 이상의 패턴을 지정해야 합니다.
선택 사항:
escape_char
와일드카드가 와일드카드로서가 아니라 일반 문자로 해석되어야 함을 나타내기 위해 와일드카드 문자 앞에 삽입된 문자입니다.
반환¶
반환된 값의 데이터 타입은 VARCHAR 입니다.
사용법 노트¶
SQL 와일드카드는
pattern
에서 지원됩니다.밑줄(
_
)은 단일 문자와 일치합니다.퍼센트 기호(
%
)는 0개 이상의 문자 시퀀스와 일치합니다.
pattern
의 와일드카드는subject
에 줄 바꿈 문자(\n
)를 일치 항목으로서 포함합니다.패턴이 전체 입력 문자열(주제)과 일치하는 경우, 패턴은 일치 항목으로 간주됩니다. 문자열 내의 임의의 위치에서 시퀀스를 일치시키려면 패턴을
%
로 시작하고 끝내십시오(예:%something%
).NULL은 NULL과 일치하지 않습니다. 즉, 주제가 NULL이고 패턴 중 하나가 NULL이면 이는 일치 항목으로 간주되지 않습니다.
예¶
일부 문자열이 포함된 테이블을 만듭니다.
CREATE OR REPLACE TABLE like_example(subject varchar(20));
INSERT INTO like_example VALUES
('John Dddoe'),
('Joe Doe'),
('John_down'),
('Joe down'),
('Tom Doe'),
('Tim down'),
(null);
이 쿼리는 와일드카드(%
)가 있는 패턴을 사용하여 일치 항목을 찾는 방법을 보여줍니다.
SELECT *
FROM like_example
WHERE subject LIKE ANY ('%Jo%oe%','T%e')
ORDER BY subject;
+-------------+
| SUBJECT |
|-------------|
| Joe Doe |
| John Dddoe |
| Tom Doe |
+-------------+
이 쿼리는 일반적으로 와일드카드(_
)인 문자를 리터럴로 처리해야 함을 나타내기 위해 이스케이프 문자를 사용하는 방법을 보여줍니다.
SELECT *
FROM like_example
WHERE subject LIKE ANY ('%J%h%^_do%', 'T%^%e') ESCAPE '^'
ORDER BY subject;
+-----------+
| SUBJECT |
|-----------|
| John_down |
+-----------+