기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
LIKE
연LIKE산자는 열 이름과 같은 문자열 표현식을 와일드카드 문자 %(백분율) 및 _(밑줄)를 사용하는 패턴과 비교합니다. LIKE 패턴 일치는 항상 전체 문자열을 포함합니다. 문자열 내 아무 곳에서나 시퀀스를 일치시키려면 패턴이 퍼센트 기호로 시작해서 끝나야 합니다.
LIKE 대/소문자를 구분ILIKE하며 대/소문자를 구분하지 않습니다.
구문
expression [ NOT ] LIKE | ILIKE pattern [ ESCAPE 'escape_char' ]
인수
- expression
-
열 이름과 같은 유효한 UTF-8자 표현식입니다.
- LIKE | ILIKE
-
LIKE는 대소문자를 구분하는 패턴 일치를 수행합니다.는 단일 바이트 -8(ASCII) 문자에 대해 대소문자를 구분하지 않는 패턴 일치UTF를 ILIKE 수행합니다. 멀티바이트 문자에 대해 대소문자를 구분하지 않는 패턴 일치를 수행하려면 표현식 및 패턴에 대한 LOWER 함수를 LIKE 조건과 함께 사용합니다.
= 및 <>와 같은 비교 조건자 LIKE 및 ILIKE 조건자는 후행 공백을 암시적으로 무시하지 않습니다. 후행 공백을 무시하려면 CHAR 열을 RTRIM 사용하거나에 명시적으로 캐스팅합니다VARCHAR.
연
~~
산자는와 동일하고 LIKE~~*
는와 동일합니다ILIKE. 또한!~~
및!~~*
연산자는 NOT LIKE 및 NOT와 동일합니다ILIKE. - 패턴
-
일치시킬 패턴이 있는 유효한 UTF-8자 표현식입니다.
- escape_char
-
패턴의 메타 문자를 이스케이프 처리하는 문자 표현식입니다. 기본값은 백슬래시 2개('\\')입니다.
패턴에 메타 문자가 포함되지 않은 경우 패턴은 문자열 자체만 나타냅니다.이 경우는 등호 연산자와 동일하게 LIKE 작동합니다.
문자 표현식은 CHAR 또는 VARCHAR 데이터 형식일 수 있습니다. 데이터 형식이 서로 다른 경우에는 AWS Clean Rooms 가 pattern을 expression의 데이터 형식으로 변환합니다.
LIKE는 다음과 같은 패턴 일치 메타 문자를 지원합니다.
연산자 | 설명 |
---|---|
%
|
0개 이상의 문자 시퀀스를 일치시킵니다. |
_ |
모든 문자를 일치시킵니다. |
예시
다음 표에는를 사용한 패턴 일치의 예가 나와 있습니다LIKE.
표현식 | 반환 |
---|---|
'abc' LIKE 'abc' |
True |
'abc' LIKE 'a%' |
True |
'abc' LIKE '_B_' |
False |
'abc' ILIKE '_B_' |
True |
'abc' LIKE 'c%' |
False |
다음은 이름이 "E"로 시작하는 도시를 모두 찾는 예입니다.
select distinct city from users where city like 'E%' order by city; city --------------- East Hartford East Lansing East Rutherford East St. Louis Easthampton Easton Eatontown Eau Claire ...
다음은 성에 "ten"이 포함된 사용자를 찾는 예입니다.
select distinct lastname from users where lastname like '%ten%' order by lastname; lastname ------------- Christensen Wooten ...
다음은 세 번째와 네 번째 문자가 "ea"인 도시를 찾는 예입니다. 이 명령은 ILIKE를 사용하여 대소문자 비민감성을 보여줍니다.
select distinct city from users where city ilike '__EA%' order by city; city ------------- Brea Clearwater Great Falls Ocean City Olean Wheaton (6 rows)
다음은 기본 이스케이프 문자열(\\)을 사용하여 'start_'(텍스트 start
뒤에 밑줄 _
가 붙음)가 포함된 문자열을 찾는 예입니다.
select tablename, "column" from my_table_def where "column" like '%start\\_%' limit 5; tablename | column -------------------+--------------- my_s3client | start_time my_tr_conflict | xact_start_ts my_undone | undo_start_ts my_unload_log | start_time my_vacuum_detail | start_row (5 rows)
다음은 '^'을 이스케이프 문자로 지정한 후 이 이스케이프 문자를 사용하여 'start_'(텍스트 start
뒤에 밑줄 _
가 붙음)가 포함된 문자열을 찾는 예입니다.
select tablename, "column" from my_table_def where "column" like '%start^_%' escape '^' limit 5; tablename | column -------------------+--------------- my_s3client | start_time my_tr_conflict | xact_start_ts my_undone | undo_start_ts my_unload_log | start_time my_vacuum_detail | start_row (5 rows)
다음 예제에서는 ~~*
연산자를 사용하여 'Ag'로 시작하는 도시에 대해 대소문자를 구분하지 않는 (ILIKE) 검색을 수행합니다.
select distinct city from users where city ~~* 'Ag%' order by city;
city ------------ Agat Agawam Agoura Hills Aguadilla