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

STARTS_WITH

설명​

STARTS_WITH 함수는 문자열이 지정된 접두사로 시작하는지 확인합니다. 정확한 접두사 일치 여부를 확인하는 boolean 함수이며, 대소문자를 구분합니다.

구문​

STARTS_WITH(<str>, <prefix>)

매개변수​

매개변수설명
<str>확인할 대상 문자열입니다. 타입: VARCHAR
<prefix>일치 여부를 확인할 접두사 문자열입니다. 타입: VARCHAR

반환값​

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

일치 규칙:

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

특수한 경우:

  • 인수 중 하나라도 NULL이면 NULL을 반환합니다.
  • 접두사가 빈 문자열이면 true를 반환합니다(모든 문자열은 빈 문자열로 시작합니다).
  • 대상 문자열이 비어 있고 접두사는 비어 있지 않으면 false를 반환합니다.
  • 둘 다 빈 문자열이면 true를 반환합니다.

예제​

  1. 기본 접두사 일치
SELECT STARTS_WITH('hello world', 'hello'), STARTS_WITH('hello world', 'world');
+-------------------------------------+-------------------------------------+
| STARTS_WITH('hello world', 'hello') | STARTS_WITH('hello world', 'world') |
+-------------------------------------+-------------------------------------+
| 1 | 0 |
+-------------------------------------+-------------------------------------+
  1. 대소문자 구분
SELECT STARTS_WITH('Hello World', 'hello'), STARTS_WITH('Hello World', 'Hello');
+-------------------------------------+-------------------------------------+
| STARTS_WITH('Hello World', 'hello') | STARTS_WITH('Hello World', 'Hello') |
+-------------------------------------+-------------------------------------+
| 0 | 1 |
+-------------------------------------+-------------------------------------+
  1. NULL 값 처리
SELECT STARTS_WITH(NULL, 'test'), STARTS_WITH('test', NULL);
+----------------------------+----------------------------+
| STARTS_WITH(NULL, 'test') | STARTS_WITH('test', NULL) |
+----------------------------+----------------------------+
| NULL | NULL |
+----------------------------+----------------------------+
  1. 빈 문자열 처리
SELECT STARTS_WITH('hello', ''), STARTS_WITH('', 'world');
+---------------------------+----------------------------+
| STARTS_WITH('hello', '') | STARTS_WITH('', 'world') |
+---------------------------+----------------------------+
| 1 | 0 |
+---------------------------+----------------------------+
  1. 전체 문자열 일치
SELECT STARTS_WITH('test', 'test'), STARTS_WITH('test', 'testing');
+-----------------------------+--------------------------------+
| STARTS_WITH('test', 'test') | STARTS_WITH('test', 'testing') |
+-----------------------------+--------------------------------+
| 1 | 0 |
+-----------------------------+--------------------------------+
  1. 파일 경로 확인
SELECT STARTS_WITH('/home/user/file.txt', '/home'), STARTS_WITH('C:\\Windows\\file.txt', 'C:\\');
+--------------------------------------------+------------------------------------------------+
| STARTS_WITH('/home/user/file.txt', '/home') | STARTS_WITH('C:\\Windows\\file.txt', 'C:\\') |
+--------------------------------------------+------------------------------------------------+
| 1 | 1 |
+--------------------------------------------+------------------------------------------------+
  1. UTF-8 멀티바이트 문자
SELECT STARTS_WITH('ṭṛì ḍḍumai hello', 'ṭṛì'), STARTS_WITH('ṭṛì ḍḍumai hello', 'ḍḍumai');
+------------------------------------------+---------------------------------------------+
| STARTS_WITH('ṭṛì ḍḍumai hello', 'ṭṛì') | STARTS_WITH('ṭṛì ḍḍumai hello', 'ḍḍumai') |
+------------------------------------------+---------------------------------------------+
| 1 | 0 |
+------------------------------------------+---------------------------------------------+
  1. URL 및 프로토콜 확인
SELECT STARTS_WITH('https://example.com', 'https://'), STARTS_WITH('ftp://server.com', 'http://');
+----------------------------------------------+---------------------------------------------+
| STARTS_WITH('https://example.com', 'https://') | STARTS_WITH('ftp://server.com', 'http://') |
+----------------------------------------------+---------------------------------------------+
| 1 | 0 |
+----------------------------------------------+---------------------------------------------+
  1. 숫자 문자열 접두사
SELECT STARTS_WITH('123456789', '123'), STARTS_WITH('987654321', '123');
+----------------------------------+----------------------------------+
| STARTS_WITH('123456789', '123') | STARTS_WITH('987654321', '123') |
+----------------------------------+----------------------------------+
| 1 | 0 |
+----------------------------------+----------------------------------+
  1. 특수 문자 및 기호
SELECT STARTS_WITH('@username', '@'), STARTS_WITH('#hashtag', '#');
+-------------------------------+--------------------------------+
| STARTS_WITH('@username', '@') | STARTS_WITH('#hashtag', '#') |
+-------------------------------+--------------------------------+
| 1 | 1 |
+-------------------------------+--------------------------------+

키워드​

STARTS_WITH