본문으로 건너뛰기
최종 수정: 에

ENDS_WITH

설명​

ENDS_WITH 함수는 문자열이 지정된 접미사로 끝나는지 확인합니다.

구문​

ENDS_WITH(<str>, <suffix>)

매개변수​

매개변수설명
str확인할 원본 문자열입니다. 타입: VARCHAR
suffix일치 여부를 확인할 접미사 문자열입니다. 타입: VARCHAR

반환 값​

BOOLEAN 타입을 반환합니다(Doris에서는 TINYINT로 표시되며, 1은 true를, 0은 false를 나타냅니다).

일치 규칙:

  • 접미사가 정확히 일치해야 하며, 대소문자를 구분합니다.
  • 빈 접미사는 모든 문자열과 일치합니다(true 반환).
  • UTF-8 멀티바이트 문자를 올바르게 비교할 수 있습니다.
  • 접미사 길이는 원본 문자열 길이를 초과할 수 없습니다(접미사가 비어 있는 경우 제외).

특수한 경우:

  • 매개변수 중 하나라도 NULL이면 NULL을 반환합니다.
  • 접미사가 빈 문자열이면 true를 반환합니다(모든 문자열은 빈 문자열로 끝납니다).
  • 원본 문자열이 비어 있고 접미사는 비어 있지 않으면 false를 반환합니다.
  • 둘 다 빈 문자열이면 true를 반환합니다.

예제​

  1. 기본 접미사 일치 확인
SELECT ENDS_WITH('Hello doris', 'doris'), ENDS_WITH('Hello doris', 'Hello');
+-----------------------------------+-----------------------------------+
| ENDS_WITH('Hello doris', 'doris') | ENDS_WITH('Hello doris', 'Hello') |
+-----------------------------------+-----------------------------------+
| 1 | 0 |
+-----------------------------------+-----------------------------------+
  1. 대소문자 구분
SELECT ENDS_WITH('Hello World', 'world'), ENDS_WITH('Hello World', 'World');
+-----------------------------------+-----------------------------------+
| ENDS_WITH('Hello World', 'world') | ENDS_WITH('Hello World', 'World') |
+-----------------------------------+-----------------------------------+
| 0 | 1 |
+-----------------------------------+-----------------------------------+
  1. NULL 값 처리
SELECT ENDS_WITH(NULL, 'test'), ENDS_WITH('test', NULL);
+--------------------------+--------------------------+
| ENDS_WITH(NULL, 'test') | ENDS_WITH('test', NULL) |
+--------------------------+--------------------------+
| NULL | NULL |
+--------------------------+--------------------------+
  1. 빈 문자열 처리
SELECT ENDS_WITH('hello', ''), ENDS_WITH('', 'world');
+-------------------------+--------------------------+
| ENDS_WITH('hello', '') | ENDS_WITH('', 'world') |
+-------------------------+--------------------------+
| 1 | 0 |
+-------------------------+--------------------------+
  1. 전체 문자열 일치 확인
SELECT ENDS_WITH('test', 'test'), ENDS_WITH('testing', 'test');
+---------------------------+------------------------------+
| ENDS_WITH('test', 'test') | ENDS_WITH('testing', 'test') |
+---------------------------+------------------------------+
| 1 | 0 |
+---------------------------+------------------------------+
  1. 파일 확장자 확인
SELECT ENDS_WITH('document.pdf', '.pdf'), ENDS_WITH('image.jpg', '.png');
+------------------------------------+----------------------------------+
| ENDS_WITH('document.pdf', '.pdf') | ENDS_WITH('image.jpg', '.png') |
+------------------------------------+----------------------------------+
| 1 | 0 |
+------------------------------------+----------------------------------+
  1. UTF-8 멀티바이트 문자
SELECT ENDS_WITH('hello ṭṛì ḍḍumai', 'ḍḍumai'), ENDS_WITH('hello ṭṛì ḍḍumai', 'ṭṛì');
+------------------------------------------+---------------------------------------+
| ENDS_WITH('hello ṭṛì ḍḍumai', 'ḍḍumai') | ENDS_WITH('hello ṭṛì ḍḍumai', 'ṭṛì') |
+------------------------------------------+---------------------------------------+
| 1 | 0 |
+------------------------------------------+---------------------------------------+
  1. URL 경로 확인
SELECT ENDS_WITH('https://example.com/api', '/api'), ENDS_WITH('https://example.com/', '.html');
+--------------------------------------------+---------------------------------------------+
| ENDS_WITH('https://example.com/api', '/api') | ENDS_WITH('https://example.com/', '.html') |
+--------------------------------------------+---------------------------------------------+
| 1 | 0 |
+--------------------------------------------+---------------------------------------------+
  1. 숫자 문자열의 접미사
SELECT ENDS_WITH('123456789', '789'), ENDS_WITH('123456789', '456');
+--------------------------------+--------------------------------+
| ENDS_WITH('123456789', '789') | ENDS_WITH('123456789', '456') |
+--------------------------------+--------------------------------+
| 1 | 0 |
+--------------------------------+--------------------------------+
  1. 이메일 도메인 확인
SELECT ENDS_WITH('user@gmail.com', '.com'), ENDS_WITH('admin@company.org', '.com');
+------------------------------------+--------------------------------------+
| ENDS_WITH('user@gmail.com', '.com') | ENDS_WITH('admin@company.org', '.com') |
+------------------------------------+--------------------------------------+
| 1 | 0 |
+------------------------------------+--------------------------------------+