메인 콘텐츠로 건너뛰기
아래 문서는 system.functions 시스템 테이블을 기반으로 생성됩니다.

alphaTokens

v1.1.0에서 도입되었습니다 a-zA-Z 범위에 속하는 연속된 바이트의 부분 문자열을 선택하고, 선택된 부분 문자열의 배열을 반환합니다. 구문
별칭: splitByAlpha 인수
  • s — 분할할 문자열입니다. String
  • max_substrings — 선택 사항입니다. max_substrings > 0이면 반환되는 부분 문자열의 개수는 max_substrings를 초과하지 않으며, 그렇지 않으면 함수는 가능한 한 많은 부분 문자열을 반환합니다. Int64
반환 값 s에서 선택된 부분 문자열의 배열을 반환합니다. Array(String) 예시 사용 예시
Query
Response

arrayStringConcat

도입 버전: v1.1.0 배열에 나열된 값의 문자열 표현을, 기본적으로 빈 문자열로 설정된 선택적 매개변수인 지정된 구분자로 연결합니다. 구문
별칭: array_to_string 인수
  • arr — 이어 붙일 배열입니다. Array(T)
  • separator — 선택 사항입니다. 구분자 문자열입니다. 기본값은 빈 문자열입니다. const String
반환 값 이어 붙인 문자열을 반환합니다. String 예시 사용 예시
Query
Response

extractAllGroupsVertical

도입된 버전: v20.5.0 정규식을 사용해 문자열에서 모든 그룹과 일치하는 항목을 찾고, 배열의 배열을 반환합니다. 각 배열에는 각 그룹의 일치하는 조각이 포함되며, 입력 문자열에 나타난 순서대로 그룹화됩니다. 구문
별칭: extractAllGroups 인수 반환 값 배열의 배열을 반환합니다. 각 내부 배열에는 하나의 일치 결과에서 캡처된 그룹이 포함됩니다. 각 일치 결과마다 정규식의 캡처 그룹(그룹 1, 그룹 2 등)에 해당하는 요소로 구성된 배열이 생성됩니다. 일치하는 결과가 없으면 빈 배열을 반환합니다. Array(Array(String)) 예시 사용 예시
Query
Response

ngrams

도입 버전: v21.11.0 UTF-8 문자열을 길이 N의 n-그램으로 분할합니다. 구문
인수 반환 값 n-그램으로 이루어진 배열을 반환합니다. Array(String) 예시 사용 예시
Query
Response

reverseBySeparator

도입 버전: v26.2.0 지정한 구분자로 나뉜 문자열에서 하위 문자열의 순서를 뒤집습니다. 이 함수는 문자열을 구분자로 분할한 뒤, 결과 파트의 순서를 반대로 바꾸고 같은 구분자를 사용해 다시 결합합니다. 도메인 이름, 파일 경로 또는 구성 요소의 순서를 반대로 바꿔야 하는 기타 계층형 데이터를 파싱할 때 유용합니다. 예시:
  • reverseBySeparator(‘www.google.com’)는 ‘com.google.www’를 반환합니다
  • reverseBySeparator(‘a/b/c’, ’/‘)는 ‘c/b/a’를 반환합니다
  • reverseBySeparator(‘x::y::z’, ’::‘)는 ‘z::y::x’를 반환합니다
구문
인수
  • string — 각 부분의 순서를 뒤집을 입력 문자열입니다. String
  • separator — 부분을 식별하는 데 사용하는 구분자 문자열입니다. 지정하지 않으면 ’.’ (점)을 사용합니다. 기본값: ’.’ String
반환 값 원래 문자열의 부분 문자열을 오른쪽에서 왼쪽 순서로 재배열하고, 동일한 구분자로 연결한 문자열을 반환합니다. String 예시 기본 도메인 역순 변환
Query
Response
경로 뒤집기
Query
Response
사용자 정의 구분자
Query
Response
점(.)이 포함된 경우의 예외
Query
Response
단일 항목
Query
Response
빈 구분 기호
Query
Response

splitByChar

도입 버전: v1.1.0 정확히 한 문자로 이루어진 지정된 상수 문자열 separator를 구분자로 사용해 문자열을 부분 문자열의 배열로 분할합니다. 구분자가 문자열의 시작이나 끝에 있거나, 구분자가 여러 번 연속해서 나타나면 빈 부분 문자열이 생길 수 있습니다.
설정 splitby_max_substrings_includes_remaining_string (기본값: 0)은 인수 max_substrings > 0일 때 남은 문자열을 결과 배열의 마지막 요소에 포함할지 여부를 제어합니다.
다음과 같은 경우 빈 부분 문자열이 생길 수 있습니다.
  • 구분자가 문자열의 시작이나 끝에 있는 경우
  • 구분자가 여러 번 연속해서 나타나는 경우
  • 원본 문자열 s가 비어 있는 경우
구문
인수
  • separator — 구분자는 1바이트 문자여야 합니다. String
  • s — 분할할 문자열입니다. String
  • max_substrings — 선택 사항입니다. max_substrings > 0이면 반환되는 배열에는 최대 max_substrings개의 부분 문자열이 포함됩니다. 그렇지 않으면 함수는 가능한 한 많은 부분 문자열을 반환합니다. 기본값은 0입니다. Int64
반환 값 선택된 부분 문자열로 이루어진 배열을 반환합니다. Array(String) 예시 사용 예시
Query
Response

splitByNonAlpha

v21.9.0에 도입됨 공백 문자와 문장 부호로 구분된 문자열을 부분 문자열 배열로 분할합니다.
설정 splitby_max_substrings_includes_remaining_string (기본값: 0)은 인수 max_substrings > 0인 경우 남은 문자열을 결과 배열의 마지막 요소에 포함할지 여부를 제어합니다.
구문
인수
  • s — 분리할 문자열입니다. String
  • max_substrings — 선택 사항입니다. max_substrings > 0이면 반환되는 부분 문자열은 최대 max_substrings개이며, 그렇지 않으면 함수는 가능한 한 많은 부분 문자열을 반환합니다. 기본값은 0입니다. Int64
반환 값 s에서 선택된 부분 문자열의 배열을 반환합니다. Array(String) 예시 사용 예시
Query
Response

splitByRegexp

도입 버전: v21.6.0 주어진 정규식으로 구분된 문자열을 부분 문자열의 배열로 분할합니다. 주어진 정규식이 비어 있으면 문자열을 단일 문자 배열로 분할합니다. 정규식과 일치하는 항목을 찾지 못하면 문자열은 분할되지 않습니다. 다음과 같은 경우 빈 부분 문자열이 생성될 수 있습니다.
  • 비어 있지 않은 정규식 일치가 문자열의 시작 또는 끝에서 발생하는 경우
  • 비어 있지 않은 정규식 일치가 여러 번 연속으로 발생하는 경우
  • 정규식은 비어 있지 않지만 원래 문자열이 비어 있는 경우
설정 splitby_max_substrings_includes_remaining_string (기본값: 0)은 인수 max_substrings > 0일 때 결과 배열의 마지막 요소에 남은 문자열을 포함할지 여부를 제어합니다.
구문
인수
  • regexp — 정규식입니다. 상수여야 합니다. String 또는 FixedString
  • s — 분할할 문자열입니다. String
  • max_substrings — 선택 사항입니다. max_substrings > 0이면 반환되는 부분 문자열 수는 max_substrings를 초과하지 않습니다. 그렇지 않으면 함수는 가능한 한 많은 부분 문자열을 반환합니다. 기본값: 0. Int64
반환 값 s에서 선택된 부분 문자열로 이루어진 배열을 반환합니다. Array(String) 예시 사용 예시
Query
Response
빈 정규식
Query
Response

splitByString

도입 버전: v1.1.0 여러 문자로 이루어진 상수 separator를 사용해 문자열을 부분 문자열의 배열로 분할합니다. 문자열 separator가 비어 있으면 문자열 s를 단일 문자 배열로 분할합니다. 다음과 같은 경우에는 빈 부분 문자열이 생성될 수 있습니다.
  • 비어 있지 않은 구분자가 문자열의 시작 또는 끝에 있는 경우
  • 비어 있지 않은 구분자가 여러 번 연속해서 나타나는 경우
  • 구분자는 비어 있지 않지만 원래 문자열 s는 비어 있는 경우
splitby_max_substrings_includes_remaining_string 설정(기본값: 0)은 인수 max_substrings > 0일 때 남은 문자열을 결과 배열의 마지막 요소에 포함할지 여부를 제어합니다.
구문
인수
  • separator — 구분자입니다. String
  • s — 분할할 문자열입니다. String
  • max_substrings — 선택 사항입니다. max_substrings > 0이면 반환되는 부분 문자열 수는 max_substrings를 넘지 않으며, 그렇지 않으면 함수는 가능한 한 많은 부분 문자열을 반환합니다. 기본값: 0. Int64
반환 값 s에서 분할된 부분 문자열의 배열을 반환합니다. Array(String) 예시 사용 예시
Query
Response
비어 있는 구분자
Query
Response

splitByWhitespace

도입 버전: v21.9.0 공백 문자로 구분된 문자열을 부분 문자열의 배열로 나눕니다.
설정 splitby_max_substrings_includes_remaining_string (기본값: 0)은 인수 max_substrings > 0일 때 남은 문자열을 결과 배열의 마지막 요소에 포함할지 여부를 결정합니다.
구문
인수
  • s — 분할할 문자열입니다. String
  • max_substrings — 선택 사항입니다. max_substrings > 0이면 반환되는 부분 문자열 수는 max_substrings를 초과하지 않습니다. 그렇지 않으면 함수는 가능한 한 많은 부분 문자열을 반환합니다. 기본값은 0입니다. Int64
반환 값 s에서 선택된 부분 문자열의 배열을 반환합니다. Array(String) 예시 사용 예시
Query
Response

tokens

도입 버전: v21.11.0 지정된 토크나이저를 사용해 문자열을 토큰으로 분할합니다. 사용 가능한 토크나이저:
  • splitByNonAlpha는 ASCII 영숫자가 아닌 문자를 기준으로 문자열을 분할합니다(함수 splitByNonAlpha도 참조하십시오).
  • splitByString(S)는 사용자 정의 구분자 문자열 S를 기준으로 문자열을 분할합니다(함수 splitByString도 참조하십시오). 구분자는 선택적 매개변수로 지정할 수 있습니다. 예: tokens(value, 'splitByString', [', ', '; ', '\n', '\\']). 각 문자열은 여러 문자로 이루어질 수 있습니다(예시의 ', '). 명시적으로 지정하지 않으면 기본 구분자 목록은 공백 하나인 [' ']입니다.
  • asciiCJK는 유니코드 단어 경계 규칙(UAX #29와 유사)을 사용해 문자열을 토큰으로 분할합니다. ASCII 영숫자와 밑줄 문자는 연결자와 함께 토큰을 형성합니다(문자의 경우 :, 같은 유형의 문자의 경우 .'). ASCII가 아닌 유니코드 문자는 한 글자 토큰이 됩니다.
  • ngrams(N)는 문자열을 동일한 길이의 N-그램으로 분할합니다(함수 ngrams도 참조하십시오). ngram 길이는 1~8 사이의 선택적 정수 매개변수로 지정할 수 있습니다. 예: tokens(value, 'ngrams', 3). 명시적으로 지정하지 않으면 기본 ngram 크기는 3입니다.
  • sparseGrams(min_length, max_length, min_cutoff_length)는 문자열을 최소 min_length, 최대 max_length(포함) 길이의 가변 길이 n-그램으로 분할합니다(함수 sparseGrams도 참조하십시오). 명시적으로 지정하지 않으면 min_lengthmax_length의 기본값은 각각 3과 100입니다. min_cutoff_length 매개변수를 제공하면 길이가 min_cutoff_length 이상인 n-그램만 반환됩니다. ngrams(N)와 비교하면 sparseGrams 토크나이저는 가변 길이 N-그램을 생성하므로 원본 텍스트를 더 유연하게 표현할 수 있습니다. 예를 들어 tokens(value, 'sparseGrams', 3, 5, 4)는 내부적으로 입력 문자열에서 3-, 4-, 5-그램을 생성하지만, 4-그램과 5-그램만 반환합니다.
  • array는 토큰화를 수행하지 않습니다. 즉, 각 행의 값 자체가 하나의 토큰입니다(함수 array도 참조하십시오).
splitByString 토크나이저의 경우, 토큰들이 접두 코드를 이루지 않으면 일반적으로 더 긴 구분자가 먼저 매칭되도록 하는 것이 좋습니다. 이를 위해 구분자를 길이 내림차순으로 전달하십시오. 예를 들어 구분자 = ['%21', '%']이면 문자열 %21abc['abc']로 토큰화되지만, 구분자 = ['%', '%21']이면 ['21ac']로 토큰화됩니다(이는 일반적으로 의도한 결과가 아닙니다). 구문
인수
  • value — 입력 문자열입니다. String 또는 FixedString
  • tokenizer — 사용할 토크나이저입니다. 유효한 인수는 splitByNonAlpha, splitByString, asciiCJK, ngrams, sparseGrams, array입니다. 선택 사항이며, 명시적으로 설정하지 않으면 기본값은 splitByNonAlpha입니다. const String
  • n — 인수 tokenizerngrams인 경우에만 적용됩니다. ngram의 길이를 지정하는 선택적 매개변수입니다. 명시적으로 설정하지 않으면 기본값은 3입니다. const UInt8
  • separators — 인수 tokenizersplit인 경우에만 적용됩니다. 구분자 문자열을 지정하는 선택적 매개변수입니다. 명시적으로 설정하지 않으면 기본값은 [' ']입니다. const Array(String)
  • min_length — 인수 tokenizersparseGrams인 경우에만 적용됩니다. 최소 gram 길이를 지정하는 선택적 매개변수이며, 기본값은 3입니다. const UInt8
  • max_length — 인수 tokenizersparseGrams인 경우에만 적용됩니다. 최대 gram 길이를 지정하는 선택적 매개변수이며, 기본값은 100입니다. const UInt8
  • min_cutoff_length — 인수 tokenizersparseGrams인 경우에만 적용됩니다. 최소 cutoff 길이를 지정하는 선택적 매개변수입니다. const UInt8
반환 값 입력 문자열에서 생성된 토큰 배열을 반환합니다. Array 예시 기본 토크나이저
Query
Response
Ngram 토크나이저
Query
Response

tokensForLikePattern

Introduced in: v26.3.0 지정된 토크나이저를 사용해 LIKE 패턴 문자열을 토큰으로 분할합니다. tokens 함수와 달리 이 함수는 LIKE 패턴의 의미를 이해하며 (예: 앞이나 뒤에 오는 와일드카드 문자), 패턴 매칭에 의미 있는 토큰을 추출하기 위해 토크나이저별 규칙을 적용합니다. 이 함수는 tokens 함수와 동일한 인수 집합을 지원합니다. tokenizer 뒤에 오는 추가 인수는 선택한 토크나이저에 따라 해석됩니다 (예: ngramsn, splitByStringseparators, sparseGramsmin_length / max_length [/ min_cutoff_length]). 이 함수는 주로 디버깅 및 테스트 용도로 사용되며, 내부적으로 LIKE 패턴의 토큰화 동작을 분석하는 데 활용됩니다. 구문
인수
  • value — 입력 문자열입니다. String 또는 FixedString
  • tokenizer — 사용할 토크나이저입니다. 유효한 인수는 splitByNonAlpha, splitByString, asciiCJK, ngrams, sparseGrams, array입니다. 선택 사항이며, 명시적으로 설정하지 않으면 기본값은 splitByNonAlpha입니다. const String
  • n — 인수 tokenizerngrams인 경우에만 사용됩니다. ngrams의 길이를 지정하는 선택적 매개변수입니다. 명시적으로 설정하지 않으면 기본값은 3입니다. const UInt8
  • separators — 인수 tokenizersplit인 경우에만 사용됩니다. 구분자 문자열을 지정하는 선택적 매개변수입니다. 명시적으로 설정하지 않으면 기본값은 [' ']입니다. const Array(String)
  • min_length — 인수 tokenizersparseGrams인 경우에만 사용됩니다. 최소 gram 길이를 지정하는 선택적 매개변수이며, 기본값은 3입니다. const UInt8
  • max_length — 인수 tokenizersparseGrams인 경우에만 사용됩니다. 최대 gram 길이를 지정하는 선택적 매개변수이며, 기본값은 100입니다. const UInt8
  • min_cutoff_length — 인수 tokenizersparseGrams인 경우에만 사용됩니다. 최소 cutoff 길이를 지정하는 선택적 매개변수입니다. const UInt8
반환 값 입력 문자열에서 생성된 토큰의 결과 배열을 반환합니다. Array 예시 기본 토크나이저
Query
Response
마지막 수정일 2026년 7월 2일