ENDSWITH

ENDSWITH

ENDSWITH()는 첫 번째 표현식이 두 번째 표현식으로 끝나면 TRUE를 반환해요. 두 표현식 모두 텍스트 또는 이진 표현식이어야 해요.

이 함수를 호출하는 쿼리의 성능을 개선하려면 검색 최적화 서비스(search optimization service)를 사용할 수 있어요. 자세한 내용은 검색 최적화 서비스를 참고하세요.

출처: Snowflake SQL Reference

본문

문법

ENDSWITH( <expr1> , <expr2> )

인자

expr1

검색할 문자열이에요.

expr2

expr1의 끝에서 찾을 문자열이에요.

반환

BOOLEAN 또는 NULL을 반환해요.

  • *expr1*이 *expr2*로 끝나면 TRUE를 반환해요.

  • *expr1*이 *expr2*로 끝나지 않으면 FALSE를 반환해요.

  • 입력 표현식 중 하나라도 NULL이면 NULL을 반환해요.

콜레이션 세부사항

모든 입력 인자의 콜레이션 사양(collation specifications)은 호환되어야 해요.

이 함수는 다음 콜레이션 사양을 지원하지 않아요.

  • pi(구두점 비민감, punctuation-insensitive).

  • cs-ai(대소문자 구분, 악센트 비민감).

예제

이 예제들은 ENDSWITH 함수를 사용해요.

열 값이 특정 문자열로 끝나는지 확인

문자열 값을 포함하는 단일 열이 있는 테이블을 만들어요.

CREATE OR REPLACE TABLE strings_test (s VARCHAR);

INSERT INTO strings_test values
  ('coffee'),
  ('ice tea'),
  ('latte'),
  ('tea'),
  (NULL);

SELECT * from strings_test;
+---------+
| S       |
|---------|
| coffee  |
| ice tea |
| latte   |
| tea     |
| NULL    |
+---------+

열 s의 값이 문자열 te로 끝나는지 확인:

SELECT * FROM strings_test WHERE ENDSWITH(s, 'te');
+-------+
| S     |
|-------|
| latte |
+-------+

콜레이션과 함께 ENDSWITH 사용

다음 예제에서 ENDSWITH는 서로 다른 콜레이션 사양을 가진 같은 인자 값에 대해 다른 결과를 반환해요.

SELECT ENDSWITH(COLLATE('nñ', 'en-ci-ai'), 'n'),
       ENDSWITH(COLLATE('nñ', 'es-ci-ai'), 'n');
+------------------------------------------+------------------------------------------+
| ENDSWITH(COLLATE('NÑ', 'EN-CI-AI'), 'N') | ENDSWITH(COLLATE('NÑ', 'ES-CI-AI'), 'N') |
|------------------------------------------+------------------------------------------|
| True                                     | False                                    |
+------------------------------------------+------------------------------------------+

더 알아보기