패턴 일치 조건 - Amazon Redshift

Amazon Redshift는 2025년 11월 1일부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. Python UDF를 사용하려면 이 날짜 이전에 UDF를 생성하세요. 기존 Python UDF는 정상적으로 계속 작동합니다. 자세한 내용은 블로그 게시물을 참조하세요.

패턴 일치 조건

패턴 일치 연산자는 조건 표현식에서 지정한 패턴을 문자열에서 검색하여 일치하는 패턴 유무에 따라 true 또는 false를 반환합니다. Amazon Redshift는 패턴 일치에 세 가지 방법을 사용합니다.

  • LIKE 표현식

    LIKE 연산자는 열 이름 같은 문자열 표현식과 %(퍼센트) 및 _(밑줄) 와일드카드 문자의 사용 패턴을 서로 비교합니다. LIKE 패턴 일치는 항상 전체 문자열을 검색합니다. LIKE는 대/소문자를 구분하여 패턴을 일치시키는 반면 ILIKE는 대/소문자를 구분하지 않고 패턴을 일치시킵니다.

  • SIMILAR TO 정규 표현식

    SIMILAR TO 연산자는 문자열 표현식과 SQL 표준 정규 표현식 패턴을 일치시킵니다. 여기에는 LIKE 연산자에서 지원하는 문자 2개는 물론이고 패턴 일치 메타 문자까지 포함될 수 있습니다. SIMILAR TO는 전체 문자열을 일치시키며, 대/소문자를 구분합니다.

  • POSIX-스타일 정규 표현식

    POSIX 정규 표현식은 LIKE 및 SIMILAR TO 연산자보다 더욱 강력한 패턴 일치 수단을 제공합니다. POSIX 정규 표현식 패턴은 대/소문자를 구분하여 문자열의 어느 구간이든 일치시킬 수 있습니다.

SIMILAR TO 또는 POSIX 연산자를 사용하는 정규 표현식 일치는 계산에 따른 리소스 비용이 높습니다. 따라서 특히 다수의 행을 처리할 때는 최대한 LIKE를 사용하는 것이 좋습니다. 예를 들어 다음 두 쿼리는 기능면에서 동일하지만 LIKE를 사용하는 쿼리의 실행 속도가 정규 표현식을 사용하는 쿼리보다 몇 배 더 빠릅니다.

select count(*) from event where eventname SIMILAR TO '%(Ring|Die)%'; select count(*) from event where eventname LIKE '%Ring%' OR eventname LIKE '%Die%';