문자열 분리·병합 함수

문자열 분리·병합 함수 (Splitting, Merging Functions)

문자열을 구분자·정규식·토크나이저로 분리하거나, 배열 요소를 문자열로 병합하는 함수들이에요. n-gram 생성, 네이브 베이즈 토큰화, LIKE 패턴 토큰화 같은 고급 기능도 포함해요.

출처: 문서

본문

참고: 아래 문서는 system.functions 시스템 테이블에서 생성된 것이에요.

alphaTokens

도입: v1.1.0

a-zA-Z 범위의 연속된 바이트 하위 문자열을 선택하고, 선택된 하위 문자열의 배열을 반환해요.

구문 (Syntax)

alphaTokens(s[, max_substrings])

별칭 (Aliases): splitByAlpha

인자 (Arguments)

  • s — 분리할 문자열. String
  • max_substrings — 선택 사항. max_substrings > 0이면 반환되는 하위 문자열 수가 max_substrings를 넘지 않고, 그렇지 않으면 가능한 한 많이 반환해요. Int64

반환 값 (Returned value)

s의 선택된 하위 문자열 배열. Array(String)

예시 (Examples)

SELECT alphaTokens('abca1abc');
┌─alphaTokens('abca1abc')─┐
│ ['abca','abc']          │
└─────────────────────────┘

arrayStringConcat

도입: v1.1.0

배열에 나열된 값의 문자열 표현을 제공된 구분자로 연결해요. 선택 사항 매개변수로 기본값은 빈 문자열이에요.

구문 (Syntax)

arrayStringConcat(arr[, separator])

별칭 (Aliases): array_to_string

인자 (Arguments)

  • arr — 연결할 배열. Array(T)
  • separator — 선택 사항. 구분 문자열. 기본은 빈 문자열. const String

반환 값 (Returned value)

연결된 문자열. String

예시 (Examples)

SELECT arrayStringConcat(['12/05/2021', '12:50:00'], ' ') AS DateString;
┌─DateString──────────┐
│ 12/05/2021 12:50:00 │
└─────────────────────┘

extractAllGroupsVertical

도입: v20.5.0

정규식을 사용해 문자열의 모든 그룹을 매치시키고, 각 배열이 입력 문자열에 나타난 순서대로 모든 그룹의 매치 조각을 담는 배열의 배열을 반환해요.

구문 (Syntax)

extractAllGroupsVertical(s, regexp)

별칭 (Aliases): extractAllGroups

인자 (Arguments)

  • s — 추출할 입력 문자열. String 또는 FixedString
  • regexp — 매치할 정규식. const String 또는 const FixedString

반환 값 (Returned value)

배열의 배열을 반환해요. 각 내부 배열은 한 번의 매치에서 캡처된 그룹을 담아요. 각 매치는 정규식의 캡처 그룹(그룹 1, 그룹 2 등)에 대응하는 요소들을 가진 배열을 생성해요. 매치를 찾지 못하면 빈 배열을 반환해요. Array(Array(String))

예시 (Examples)

WITH '< Server: nginx
< Date: Tue, 22 Jan 2019 00:26:14 GMT
< Content-Type: text/html; charset=UTF-8
< Connection: keep-alive
' AS s
SELECT extractAllGroupsVertical(s, '< ([\\w\\-]+): ([^\\r\\n]+)');
[['Server','nginx'],['Date','Tue, 22 Jan 2019 00:26:14 GMT'],['Content-Type','text/html; charset=UTF-8'],['Connection','keep-alive']]

naiveBayesNgrams

도입: v26.7.0

네이브 베이즈 사전과 같은 토큰화(NAIVE_BAYES 레이아웃)를 사용해 텍스트를 n-gram으로 분리해요: byte, codepoint, token 모드, 선택적 경계 패딩. 이를 사용해 그러한 사전이 소비하는 사전 집계된 (ngram, class_id, count) 훈련 데이터를 구성해서, 훈련 n-gram이 naiveBayesClassifier가 쿼리 시점에 만드는 것과 정확히 일치하게 할 수 있어요.

구문 (Syntax)

naiveBayesNgrams(text, n, mode[, start_token, end_token])

인자 (Arguments)

  • text — n-gram으로 분리할 텍스트. String
  • n — n-gram 크기, 1에서 1024까지. const UInt
  • mode — 토큰화 모드: 'byte', 'codepoint', 'token'. const String
  • start_token — 선택 사항. 입력 앞에 (n-1)번 추가되는 경계 토큰. 'byte'/'codepoint'에서는 숫자, 'token'에서는 리터럴. 비어 있으면 패딩 없음. const String
  • end_token — 선택 사항. 입력 뒤에 (n-1)번 추가되는 경계 토큰. const String

반환 값 (Returned value)

입력 텍스트의 n-gram. Array(String)

예시 (Examples)

토큰 바이그램

SELECT naiveBayesNgrams('the cat sat', 2, 'token');
['the cat','cat sat']

경계 패딩이 있는 토큰 바이그램

SELECT naiveBayesNgrams('cat', 2, 'token', '<s>', '</s>');
['<s> cat','cat </s>']

경계 패딩이 있는 바이트 바이그램(결과는 hex로 표시)

SELECT arrayMap(x -> hex(x), naiveBayesNgrams('xy', 2, 'byte', '0x01', '0xFF'));
['0178','7879','79FF']

경계 패딩이 있는 코드포인트 바이그램(결과는 hex로 표시)

SELECT arrayMap(x -> hex(x), naiveBayesNgrams('ab', 2, 'codepoint', '0x10FFFE', '0x10FFFF'));
['F48FBFBE61','6162','62F48FBFBF']

ngrams

도입: v21.11.0

UTF-8 문자열을 길이 N의 n-gram으로 분리해요.

구문 (Syntax)

ngrams(s, N)

인자 (Arguments)

  • s — 입력 문자열. String 또는 FixedString
  • N — n-gram 길이. const UInt8/16/32/64

반환 값 (Returned value)

n-gram이 담긴 배열. Array(String)

예시 (Examples)

SELECT ngrams('ClickHouse', 3);
['Cli','lic','ick','ckH','kHo','Hou','ous','use']

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’를 반환해요

구문 (Syntax)

reverseBySeparator(string[, separator])

인자 (Arguments)

  • string — 부분들의 순서를 뒤집을 입력 문자열. String
  • separator — 부분을 식별하는 구분 문자열. 제공하지 않으면 '.'(점)을 사용해요. 기본값: '.'. String

반환 값 (Returned value)

원래 문자열의 부분들이 오른쪽에서 왼쪽 순서로 배치되고 같은 구분자로 이어진 문자열. String

예시 (Examples)

기본 도메인 뒤집기

SELECT reverseBySeparator('www.google.com')
com.google.www

경로 뒤집기

SELECT reverseBySeparator('a/b/c', '/')
c/b/a

사용자 지정 구분자

SELECT reverseBySeparator('x::y::z', '::')
z::y::x

점이 있는 경계 케이스

SELECT reverseBySeparator('.a.b.', '.')
.b.a.

단일 요소

SELECT reverseBySeparator('single')
single

빈 구분자

SELECT reverseBySeparator('abcde', '')
edcba

splitByChar

도입: v1.1.0

정확히 한 문자로 이뤄진 지정된 상수 문자열 separator로 구분된 문자열을 하위 문자열 배열로 분리해요. 구분자가 문자열의 시작이나 끝에 나타나거나, 구분자가 여러 번 연속되면 빈 하위 문자열이 선택될 수 있어요.

참고: splitby_max_substrings_includes_remaining_string(기본값: 0) 설정은 인자 max_substrings > 0일 때 나머지 문자열이 결과 배열의 마지막 요소에 포함되는지 제어해요.

빈 하위 문자열이 선택될 수 있는 경우:

  • 구분자가 문자열의 시작 또는 끝에 나타나는 경우
  • 구분자가 여러 번 연속되는 경우
  • 원래 문자열 s가 빈 경우

구문 (Syntax)

splitByChar(separator, s[, max_substrings])

인자 (Arguments)

  • separator — 구분자는 반드시 1바이트 문자여야 해요. String
  • s — 분리할 문자열. String
  • max_substrings — 선택 사항. max_substrings > 0이면 반환 배열에 max_substrings개 이하의 하위 문자열이 담기고, 그렇지 않으면 가능한 한 많이 반환해요. 기본값은 0. Int64

반환 값 (Returned value)

선택된 하위 문자열의 배열. Array(String)

예시 (Examples)

SELECT splitByChar(',', '1,2,3,abcde');
┌─splitByChar(',', '1,2,3,abcde')─┐
│ ['1','2','3','abcde']           │
└─────────────────────────────────┘

splitByNonAlpha

도입: v21.9.0

공백과 구두점 문자로 구분된 문자열을 하위 문자열 배열로 분리해요.

참고: splitby_max_substrings_includes_remaining_string(기본값: 0) 설정은 인자 max_substrings > 0일 때 나머지 문자열이 결과 배열의 마지막 요소에 포함되는지 제어해요.

구문 (Syntax)

splitByNonAlpha(s[, max_substrings])

인자 (Arguments)

  • s — 분리할 문자열. String
  • max_substrings — 선택 사항. max_substrings > 0이면 반환되는 하위 문자열 수가 max_substrings를 넘지 않고, 그렇지 않으면 가능한 한 많이 반환해요. 기본값: 0. Int64

반환 값 (Returned value)

s의 선택된 하위 문자열 배열. Array(String)

예시 (Examples)

SELECT splitByNonAlpha('[email protected]');
['user','domain','com']

splitByRegexp

도입: v21.6.0

제공된 정규식으로 구분된 문자열을 하위 문자열 배열로 분리해요. 제공된 정규식이 비어 있으면 문자열을 단일 문자 배열로 분리해요. 정규식 매치를 찾지 못하면 문자열은 분리되지 않아요.

빈 하위 문자열이 선택될 수 있는 경우:

  • 비어 있지 않은 정규식 매치가 문자열의 시작 또는 끝에 발생하는 경우
  • 비어 있지 않은 정규식 매치가 여러 번 연속되는 경우
  • 정규식이 비어 있지 않은데 원래 문자열이 빈 경우

참고: splitby_max_substrings_includes_remaining_string(기본값: 0) 설정은 인자 max_substrings > 0일 때 나머지 문자열이 결과 배열의 마지막 요소에 포함되는지 제어해요.

구문 (Syntax)

splitByRegexp(regexp, s[, max_substrings])

인자 (Arguments)

  • regexp — 정규식. 상수. String 또는 FixedString
  • s — 분리할 문자열. String
  • max_substrings — 선택 사항. max_substrings > 0이면 반환되는 하위 문자열 수가 max_substrings를 넘지 않고, 그렇지 않으면 가능한 한 많이 반환해요. 기본값: 0. Int64

반환 값 (Returned value)

s의 선택된 하위 문자열 배열. Array(String)

예시 (Examples)

SELECT splitByRegexp('\\d+', 'a12bc23de345f');
┌─splitByRegexp('\\d+', 'a12bc23de345f')─┐
│ ['a','bc','de','f']                    │
└────────────────────────────────────────┘

빈 정규식

SELECT splitByRegexp('', 'abcde');
┌─splitByRegexp('', 'abcde')─┐
│ ['a','b','c','d','e']      │
└────────────────────────────┘

splitByString

도입: v1.1.0

여러 문자로 이뤄진 상수 separator로 구분된 문자열을 하위 문자열 배열로 분리해요. 문자열 separator가 비어 있으면 문자열 s를 단일 문자 배열로 분리해요.

빈 하위 문자열이 선택될 수 있는 경우:

  • 비어 있지 않은 구분자가 문자열의 시작 또는 끝에 발생하는 경우
  • 비어 있지 않은 구분자가 여러 번 연속되는 경우
  • 구분자가 비어 있지 않은데 원래 문자열 s가 빈 경우

참고: splitby_max_substrings_includes_remaining_string(기본값: 0) 설정은 인자 max_substrings > 0일 때 나머지 문자열이 결과 배열의 마지막 요소에 포함되는지 제어해요.

구문 (Syntax)

splitByString(separator, s[, max_substrings])

인자 (Arguments)

  • separator — 구분자. String
  • s — 분리할 문자열. String
  • max_substrings — 선택 사항. max_substrings > 0이면 반환되는 하위 문자열 수가 max_substrings를 넘지 않고, 그렇지 않으면 가능한 한 많이 반환해요. 기본값: 0. Int64

반환 값 (Returned value)

s의 선택된 하위 문자열 배열. Array(String)

예시 (Examples)

SELECT splitByString(', ', '1, 2 3, 4,5, abcde');
┌─splitByString(', ', '1, 2 3, 4,5, abcde')─┐
│ ['1','2 3','4,5','abcde']                 │
└───────────────────────────────────────────┘

빈 구분자

SELECT splitByString('', 'abcde');
┌─splitByString('', 'abcde')─┐
│ ['a','b','c','d','e']      │
└────────────────────────────┘

splitByWhitespace

도입: v21.9.0

공백 문자로 구분된 문자열을 하위 문자열 배열로 분리해요.

참고: splitby_max_substrings_includes_remaining_string(기본값: 0) 설정은 인자 max_substrings > 0일 때 나머지 문자열이 결과 배열의 마지막 요소에 포함되는지 제어해요.

구문 (Syntax)

splitByWhitespace(s[, max_substrings])

인자 (Arguments)

  • s — 분리할 문자열. String
  • max_substrings — 선택 사항. max_substrings > 0이면 반환되는 하위 문자열 수가 max_substrings를 넘지 않고, 그렇지 않으면 가능한 한 많이 반환해요. 기본값: 0. Int64

반환 값 (Returned value)

s의 선택된 하위 문자열 배열. Array(String)

예시 (Examples)

SELECT splitByWhitespace('  1!  a,  b.  ');
['1!','a,','b.']

tokens

도입: v21.11.0

주어진 토크나이저로 문자열을 토큰으로 분리해요.

사용 가능한 토크나이저:

  • splitByNonAlpha — 비알파뉴메릭 ASCII 문자를 기준으로 문자열을 분리해요(splitByNonAlpha 함수도 참조).
  • splitByString(S) — 사용자 정의 구분 문자열 S를 기준으로 문자열을 분리해요(splitByString 함수도 참조). 구분자는 선택 사항 매개변수로 지정할 수 있어요. 예: tokens(value, 'splitByString', [', ', '; ', '\n', '\\']). 각 문자열은 여러 문자로 이뤄질 수 있음을 주의하세요(예제의 ', '). 명시적으로 지정하지 않으면 기본 구분자 목록은 단일 공백 [' ']이에요.
  • splitByRegexp(regexp[, match_tokens]) — 사용자 정의 정규식 regexp에 따라 문자열을 분리해요. 정규식은 필수예요. 예: tokens(value, 'splitByRegexp', '[^\p{L}\p{N}#+]+'). 선택 사항 match_tokens 인자를 기본값(false; 0/1도 허용)으로 두면 regexp는 구분자예요(splitByRegexp 함수도 참조). match_tokens = trueregexp가 직접 매치돼요: 각 매치는 최대 하나의 토큰(첫 번째 캡처 그룹, 또는 regexp에 캡처 그룹이 없으면 전체 매치)에 기여하고, 매치 밖의 모든 것은 버려져요. 예: tokens('tag:hello tag:world', 'splitByRegexp', 'tag:(\w+)', true)['hello', 'world']를 반환해요.
  • asciiCJK — 유니코드 단어 경계 규칙(UAX #29와 유사)으로 문자열을 분리해요. ASCII 알파뉴메릭 문자와 밑줄은 연결자(:는 문자용, ., '는 같은 타입의 문자용)로 토큰을 형성해요. 비-ASCII 유니코드 문자는 단일 문자 토큰이 돼요.
  • chinese — 사전과 은닉 마르코프 모델을 사용해 중국어 텍스트를 단어로 분절해요(알고리즘은 jieba를 따르고, 내장 사전·모델 데이터는 cppjieba에서 파생). 모든 비-ASCII 문자를 단일 문자 토큰으로 취급하는 asciiCJK와 달리, chinese는 연속된 중국어 문자를 단어로 묶어 중국어 텍스트에 대해 더 의미 있는 토큰과 더 높은 검색 품질을 제공해요. 선택 사항 granularity 인자는 coarse_grained(기본값) 또는 fine_grained 중 하나예요. 후자는 겹치는 하위 단어를 추가로 나열해 인덱스가 커지는 대신 재현율(recall)을 높여요.
  • icu(locale) — ICU 라이브러리의 유니코드 단어 분절(UAX #29)을 사용해 문자열을 단어 토큰으로 분리해요. 단어 사이에 공백이 없는 문자(예: 중국어, 일본어, 태국어)에는 ICU가 사전 기반 분절을 적용하므로 그런 텍스트는 의미 있는 단어로 분리돼요. locale은 분절기에 전달되는 ICU 로케일(분절은 주로 문자·사전 중심이며, 로케일은 ICU의 로케일 특화 맞춤을 선택)이며 필수이고 별도 인자로 전달돼요. 예: tokens(value, 'icu', 'ja').
  • japanese — MeCab 형태소 분석기를 사용해 일본어 텍스트를 단어로 분리해요. 서버 설정에 사전이 구성되어 있어야 해요(텍스트 인덱스 문서 참조).
  • ngrams(N) — 문자열을 크기가 같은 N-gram으로 분리해요(ngrams 함수도 참조). n-gram 길이는 1~8 사이의 선택 사항 정수 매개변수로 지정할 수 있어요. 예: tokens(value, 'ngrams', 3). 명시적으로 지정하지 않으면 기본 n-gram 크기는 3이에요.
  • sparseGrams(min_length, max_length, min_cutoff_length) — 문자열을 min_length 이상 max_length 이하(포함) 문자 길이의 가변 길이 n-gram으로 분리해요(sparseGrams 함수도 참조). 명시적으로 지정하지 않으면 min_lengthmax_length는 3과 100이에요. 매개변수 min_cutoff_length를 제공하면 길이가 min_cutoff_length 이상인 n-gram만 반환돼요. ngrams(N)과 비교해 sparseGrams 토크나이저는 가변 길이 N-gram을 만들어 원본 텍스트를 더 유연하게 표현할 수 있어요. 예: tokens(value, 'sparseGrams', 3, 5, 4)는 내부적으로 입력 문자열에서 3-, 4-, 5-gram을 생성하지만 4-gram과 5-gram만 반환해요.
  • array — 토큰화를 수행하지 않아요. 즉 각 행 값이 토큰이에요(array 함수도 참조). 다른 시스템과의 호환을 위해 array의 별칭으로 keyword를 사용할 수 있어요.

splitByString 토크나이저의 경우, 토큰이 프리픽스 코드를 형성하지 않으면 더 긴 구분자가 먼저 매치되길 원할 거예요. 그러려면 구분자를 길이 내림차순으로 전달하세요. 예를 들어 구분자가 ['%21', '%']면 문자열 %21abc['abc']로, 구분자가 ['%', '%21']['21ac'](아마 원하지 않는 결과)로 토큰화돼요.

구문 (Syntax)

tokens(value) -- 'splitByNonAlpha' tokenizer
tokens(value, 'splitByNonAlpha')
tokens(value, 'splitByString'[, separators])
tokens(value, 'splitByRegexp', regexp[, match_tokens])
tokens(value, 'asciiCJK')
tokens(value, 'chinese'[, granularity])
tokens(value, 'icu', locale)
tokens(value, 'japanese')
tokens(value, 'ngrams'[, n])
tokens(value, 'sparseGrams'[, min_length, max_length[, min_cutoff_length]])
tokens(value, 'array')

인자 (Arguments)

  • value — 입력 문자열. String 또는 FixedString
  • tokenizer — 사용할 토크나이저. 유효한 인자는 splitByNonAlpha, splitByString, splitByRegexp, asciiCJK, chinese, icu, japanese, ngrams, sparseGrams, array예요. 선택 사항이며 명시적으로 설정하지 않으면 splitByNonAlpha로 기본 설정돼요. const String
  • locale — 인자 tokenizericu일 때만 관련. 필수 로케일. 예: 'ja'. const String
  • n — 인자 tokenizerngrams일 때만 관련. ngram 길이를 정의하는 선택 사항 매개변수. 명시적으로 설정하지 않으면 3으로 기본 설정돼요. const UInt8
  • separators — 인자 tokenizersplit일 때만 관련. 구분 문자열을 정의하는 선택 사항 매개변수. 명시적으로 설정하지 않으면 [' ']으로 기본 설정돼요. const Array(String)
  • regexp — 인자 tokenizersplitByRegexp일 때만 관련. 정규식을 정의하는 필수 매개변수. const String
  • match_tokens — 인자 tokenizersplitByRegexp일 때만 관련. 선택 사항 매개변수. false(기본값)면 regexp는 구분자예요(splitByRegexp 함수처럼 분리). trueregexp가 직접 매치되고 각 매치는 첫 번째 캡처 그룹(캡처 그룹이 없으면 전체 매치)을 토큰으로 기여해요. const Bool
  • min_length — 인자 tokenizersparseGrams일 때만 관련. 최소 gram 길이를 정의하는 선택 사항 매개변수, 기본 3. const UInt8
  • max_length — 인자 tokenizersparseGrams일 때만 관련. 최대 gram 길이를 정의하는 선택 사항 매개변수, 기본 100. const UInt8
  • min_cutoff_length — 인자 tokenizersparseGrams일 때만 관련. 최소 컷오프 길이를 정의하는 선택 사항 매개변수. const UInt8
  • granularity — 인자 tokenizerchinese일 때만 관련. 분절 세밀도를 제어하는 선택 사항 매개변수로 coarse_grained(기본값) 또는 fine_grained 중 하나. const String

반환 값 (Returned value)

입력 문자열에서 나온 토큰 배열. Array

예시 (Examples)

기본 토크나이저

SELECT tokens('test1,;\\ test2,;\\ test3,;\\   test4') AS tokens;
['test1','test2','test3','test4']

Ngram 토크나이저

SELECT tokens('abc def', 'ngrams', 3) AS tokens;
['abc','bc ','c d',' de','def']

match_tokens가 있는 splitByRegexp 토크나이저

SELECT tokens('tag:hello tag:world', 'splitByRegexp', 'tag:(\w+)', true) AS tokens;
['hello','world']

tokensForLikePattern

도입: v26.3.0

LIKE 패턴 문자열을 지정된 토크나이저를 사용해 토큰으로 분리해요.

tokens 함수와 달리 이 함수는 LIKE 패턴 의미론(앞·뒤 와일드카드 문자 등)을 알고 있으며, 패턴 매칭에 의미 있는 토큰을 추출하기 위해 토크나이저별 규칙을 적용해요.

tokens 함수와 같은 인자 집합을 지원하되, 몇 가지 예외가 있어요: chineseicu 토크나이저는 여기서 지원되지 않아요. LIKE 패턴 토큰화는 명시적으로 LIKE 의미론(supportsStringLike())에 참여하는 토크나이저에만 의미가 있어요. 지원되지 않는 토크나이저로 tokensForLikePattern을 호출하면 BAD_ARGUMENTS가 발생하니, 그땐 일반 tokens를 사용하세요.

tokenizer 뒤의 추가 인자는 선택된 토크나이저에 따라 해석돼요(예: ngramsn, splitByStringseparators, sparseGramsmin_length/max_length[/min_cutoff_length`]).

이 함수는 주로 디버깅·테스트 목적으로 만들어졌으며, 내부적으로 LIKE 패턴의 토큰화 동작을 분석하는 데 사용돼요.

구문 (Syntax)

tokensForLikePattern(value[, tokenizer[, tokenizer_specific_arguments...]])

인자 (Arguments)

  • 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일 때만 관련. 최소 컷오프 길이를 정의하는 선택 사항 매개변수. const UInt8

반환 값 (Returned value)

입력 문자열에서 나온 토큰 배열. Array

예시 (Examples)

기본 토크나이저

SELECT tokensForLikePattern('%test1,test2,test3%') AS tokens;
['test2']

더 알아보기 (Learn more)