- 카테고리:
문자열 및 이진 함수 (일치/비교)
LIKE ANY¶
하나 이상의 지정된 패턴과 문자열을 일치시키기 위해 대/소문자를 구분하는 비교를 수행합니다. 일치 항목을 필터링하려면 WHERE 절에서 이 함수를 사용하십시오. 대/소문자를 구분하지 않는 일치의 경우, 대신 ILIKE ANY를 사용하십시오.
팁
검색 최적화 서비스를 사용하여 이 함수를 호출하는 쿼리의 성능을 향상할 수 있습니다. 자세한 내용은 검색 최적화 서비스 섹션을 참조하십시오.
- 참고 항목:
구문¶
<subject> LIKE ANY (<pattern1> [, <pattern2> ... ] ) [ ESCAPE <escape_char> ]
인자¶
필수:
subject
패턴과 비교할 문자열입니다.
pattern#
문자열이 비교되는 패턴입니다. 하나 이상의 패턴을 지정해야 합니다.
선택 사항:
escape_char
와일드카드가 와일드카드로서가 아니라 일반 문자로 해석되어야 함을 나타내기 위해 와일드카드 문자 앞에 삽입된 문자입니다.
반환¶
BOOLEAN 또는 NULL을 반환합니다. 일치하는 항목이 있으면 값은 TRUE입니다. 그렇지 않으면 FALSE를 반환합니다. 인자가 NULL인 경우 NULL을 반환합니다.
사용법 노트¶
SQL 와일드카드는
pattern
에서 지원됩니다.밑줄(
_
)은 단일 문자와 일치합니다.퍼센트 기호(
%
)는 0개 이상의 문자 시퀀스와 일치합니다.
pattern
의 와일드카드는subject
에 줄 바꿈 문자(n
)를 일치 항목으로서 포함합니다.패턴이 전체 입력 문자열(주제)과 일치하는 경우, 패턴은 일치 항목으로 간주됩니다. 문자열 내의 임의의 위치에서 시퀀스를 일치시키려면 패턴을
%
로 시작하고 끝내십시오(예:%something%
).NULL은 NULL과 일치하지 않습니다. 즉, 주제가 NULL이고 패턴 중 하나가 NULL이면 이는 일치 항목으로 간주되지 않습니다.
subject
앞에 NOT 논리 연산자를 사용하면 지정된 패턴과 일치하지 않는 경우 TRUE를 반환하는 대/소문자 구분 비교를 수행할 수 있습니다.
데이터 정렬 세부 정보¶
upper
, lower
및 trim
데이터 정렬 사양만 지원됩니다. 로캘 조합(예: en-upper
)을 제외하고 upper
, lower
및 trim
과의 조합도 지원됩니다(예: upper-trim
및 lower-trim
).
참고
upper
, lower
또는 trim
데이터 정렬 지정자가 있는 열에 이 함수를 사용하려면 계정에서 2024_02 동작 변경 번들을 활성화 해야 합니다.
계정에서 이 번들을 활성화하려면 다음 문을 실행하십시오.
SELECT SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE('2024_02');
예¶
일부 문자열이 포함된 테이블을 만듭니다.
CREATE OR REPLACE TABLE like_example(name 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 name LIKE ANY ('%Jo%oe%','T%e')
ORDER BY name;
+-------------+
| NAME |
|-------------|
| Joe Doe |
| John Dddoe |
| Tom Doe |
+-------------+
이 쿼리는 일반적으로 와일드카드(_
)인 문자를 리터럴로 처리해야 함을 나타내기 위해 이스케이프 문자를 사용하는 방법을 보여줍니다.
SELECT *
FROM like_example
WHERE name LIKE ANY ('%J%h%^_do%', 'T%^%e') ESCAPE '^'
ORDER BY name;
+-----------+
| NAME |
|-----------|
| John_down |
+-----------+