아래 함수 문서는
system.functions 시스템 테이블을 기반으로 생성됩니다.FQDN
fullHostName
인수
- 없음.
String
예시
사용 예시
Query
Response
MACNumToString
UInt64 숫자를 빅 엔디언 포맷의 MAC 주소로 해석합니다.
해당 MAC 주소를 문자열로 반환하며, 포맷은 AA:BB:CC:DD:EE:FF입니다(16진수 숫자를 콜론으로 구분).
구문
num— UInt64 형식의 숫자입니다.UInt64
String
예시
사용 예시
Query
Response
MACStringToNum
s— MAC 주소 문자열입니다.String
UInt64 값을 반환합니다. UInt64
예시
사용 예시
Query
Response
MACStringToOUI
s— MAC 주소 문자열입니다.String
UInt64
예시
사용 예시
Query
Response
authenticatedUser
authUser
인수
- 없음.
String
예시
사용 예시
Query
Response
bar
width문자인 띠를 그리며, 띠의 너비는 (x - min)에 비례합니다.
띠는 기호 1/8 단위의 정확도로 그려집니다.
구문
x— 표시할 크기입니다.(U)Int*또는Float*또는Decimalmin— 최솟값입니다.(U)Int*또는Float*또는Decimalmax— 최댓값입니다.(U)Int*또는Float*또는Decimalwidth— 선택 사항입니다. 막대의 문자 너비입니다. 기본값은80입니다.const (U)Int*또는const Float*또는const Decimal
String
예시
사용 예시
Query
Response
blockNumber
- None.
UInt64
예시
기본 사용법
Query
Response
blockSerializedSize
x1[, x2, ...]— 블록의 압축되지 않은 크기를 구할 값으로, 개수는 제한이 없습니다.Any
UInt64
예시
사용 예시
Query
Response
blockSize
- 없음
UInt64
예시
사용 예시
Query
Response
buildId
- None.
String
예시
사용 예시
Query
Response
byteSize
String 인수의 경우 문자열 길이 + 8(길이)을 반환합니다.
인수가 여러 개이면 각 인수의 바이트 크기를 합산합니다.
구문
arg1[, arg2, ...]— 압축되지 않은 바이트 크기를 추정할 모든 데이터 타입의 값입니다.Any
UInt64
예시
사용 예시
Query
Response
Query
Response
catboostEvaluate
- catboost 평가 라이브러리 빌드
libcatboostmodel.<so|dylib> 라이브러리를 사용할 수 있도록 준비해야 합니다. 컴파일 방법은 CatBoost documentation을 참조하십시오.
다음으로, ClickHouse 구성에서 libcatboostmodel.<so|dylib>의 경로를 지정합니다:
catboostEvaluate()를 처음 실행할 때 server가 아직 실행 중이 아니라면 library bridge process를 시작합니다. 두 프로세스는
HTTP 인터페이스를 사용해 통신합니다. 기본적으로 포트 9012를 사용합니다. 다음과 같이 다른 포트를 지정할 수 있으며, 포트
9012가 이미 다른 서비스에 할당되어 있는 경우 유용합니다.
- libcatboost를 사용하여 catboost 모델을 학습합니다
path_to_model— catboost 모델 경로입니다.const Stringfeature— 하나 이상의 모델 피처 또는 인수입니다.Float*
Float64
예시
catboostEvaluate
Query
Response
colorOKLABToSRGB
- L: 지각적 밝기(일반적으로 범위는 [0..1])
- a: 녹색-빨간색 대립 축
- b: 파란색-노란색 대립 축
- OKLab에서 선형 sRGB로 변환합니다. 2) 선형 sRGB에서 감마 인코딩된 sRGB로 변환합니다.
tuple— 숫자 값L,a,b3개로 이루어진 튜플입니다.L의 범위는[0...1]입니다.Tuple(Float64, Float64, Float64)gamma— 선택 사항입니다. 각 채널x에(x ^ (1 / gamma)) * 255를 적용해 선형 sRGB를 다시 sRGB로 변환할 때 사용하는 지수입니다. 기본값은2.2입니다.Float64
(R, G, B)를 반환합니다. Tuple(Float64, Float64, Float64)
예시
OKLAB를 sRGB(Float)로 변환
Query
Response
Query
Response
colorOKLCHToSRGB
L이 [0...1] 범위를 벗어나거나, C가 음수이거나, H가 [0...360] 범위를 벗어나면 결과는 구현에 따라 달라집니다.
OKLCH는 OKLab 색 공간의 원통형 버전입니다.
세 좌표는
L(범위 [0...1]의 명도), C(채도 >= 0), H(범위 [0...360]의 도 단위 색조)입니다.
OKLab/OKLCH는 계산 비용이 낮으면서도 지각적으로 균일하도록 설계되었습니다.colorSRGBToOKLCH의 역변환입니다.
- OKLCH를 OKLab으로 변환합니다. 2) OKLab을 Linear sRGB로 변환합니다. 3) Linear sRGB를 sRGB로 변환합니다.
tuple— 숫자 값L,C,H세 개로 이루어진 튜플입니다.L은[0...1]범위,C는0이상,H는[0...360]범위입니다.Tuple(Float64, Float64, Float64)gamma— 선택 사항입니다. 각 채널x에(x ^ (1 / gamma)) * 255를 적용해 선형 sRGB를 다시 sRGB로 변환할 때 사용하는 지수입니다. 기본값은2.2입니다.Float64
(R, G, B)를 반환합니다. Tuple(Float64, Float64, Float64)
예시
OKLCH를 sRGB로 변환
Query
Response
Query
Response
colorSRGBToOKLAB
[0...255] 범위를 벗어나거나 감마 값이 0보다 작거나 같으면 동작은 구현에 따라 달라집니다.
OKLAB은 지각적으로 균일한 색 공간입니다.
세 좌표는
L(범위 [0...1]의 밝기), a (Green-Red axis), b (Blue-Yellow axis)입니다.
OKLab은 지각적 균일성을 유지하면서도 계산 비용이 낮도록 설계되었습니다.- sRGB를 Linear sRGB로 변환 2) Linear sRGB를 OKLab으로 변환
tuple—[0...255]범위의 세 값 R, G, B로 구성된 튜플입니다.Tuple(UInt8, UInt8, UInt8)gamma— 선택 사항입니다. 각 채널x에(x / 255)^gamma를 적용해 sRGB를 선형화하는 데 사용하는 지수입니다. 기본값은2.2입니다.Float64
(L, a, b)를 반환합니다. Tuple(Float64, Float64, Float64)
예시
sRGB를 OKLAB로 변환
Query
Response
colorSRGBToOKLCH
[0...255] 범위를 벗어나거나 감마 값이 0보다 작거나 같으면 동작은 구현에 따라 달라집니다.
OKLCH는 OKLab 색 공간의 원통형 버전입니다.
세 좌표는
L(범위 [0...1]의 명도), C(채도 >= 0), H(범위 [0...360]의 도 단위 색상환 각도)입니다.
OKLab/OKLCH는 계산 비용을 낮게 유지하면서도 지각적으로 균일하도록 설계되었습니다.- sRGB에서 Linear sRGB로 2) Linear sRGB에서 OKLab으로 3) OKLab에서 OKLCH로.
tuple— 범위[0...255]에 있는 세 값 R, G, B로 구성된 튜플입니다.Tuple(UInt8, UInt8, UInt8)gamma— 선택 사항입니다. 각 채널x에(x / 255)^gamma를 적용해 sRGB를 선형화할 때 사용하는 지수입니다. 기본값은2.2입니다.Float64
Tuple(Float64, Float64, Float64)
예시
sRGB를 OKLCH로 변환
Query
Response
connectionId
CONNECTION_ID 함수와의 호환성을 위해 만들어졌습니다.
일반적으로 프로덕션 쿼리에서는 사용되지 않습니다.
구문
- 없음.
UInt64
예시
사용 예시
Query
Response
countDigits
이 함수는 Decimal 값의 소수 자릿수(scale)도 고려합니다. 즉, 내부 정수형인
(value * scale)를 기준으로 결과를 계산합니다.예시는 다음과 같습니다.countDigits(42) = 2countDigits(42.000) = 5countDigits(0.04200) = 4
x를 나타내는 데 필요한 자릿수를 반환합니다. UInt8
예시
사용 예시
Query
Response
currentDatabase
CREATE TABLE 쿼리의 테이블 엔진 매개변수에서 유용합니다.
SET 문도 참조하십시오.
구문
current_database, SCHEMA, DATABASE
인수
- 없음.
String
예시
사용 예시
Query
Response
Query
Response
currentProfiles
- None.
Array(String)
예시
사용 예시
Query
Response
currentQueryID
current_query_id
인수
- None.
Query
Response
currentRoles
- None.
Array(String)
예시
사용 예시
Query
Response
currentSchemas
currentDatabase와 동일하지만 다음과 같은 차이가 있습니다.
- 무시되는 boolean 인수를 받습니다.
- 데이터베이스 이름을 단일 값만 포함된 배열로 반환합니다.
currentSchemas는 PostgreSQL과의 호환성을 위해서만 존재합니다.
대신 currentDatabase를 사용하십시오.
SET 문도 참조하십시오.
구문
current_schemas
인수
bool— 무시되는 불리언 값입니다.Bool
Array(String)
예시
사용 예시
Query
Response
currentUser
session_user, user, current_user
인수
- 없음.
String
예시
사용 예시
Query
Response
Query
Response
defaultProfiles
- 없음.
Array(String)
예시
사용 예시
Query
Response
defaultRoles
- 없음.
Array(String)
예시
사용 예시
Query
Response
defaultValueOfArgumentType
expression— 임의의 타입 값을 나타내는 값 또는 임의의 타입 값을 반환하는 표현식입니다.Any
0, 문자열에는 빈 문자열, 널 허용 타입에는 NULL을 반환합니다. UInt8 또는 String 또는 NULL
예시
사용 예시
Query
Response
Query
Response
defaultValueOfTypeName
type— 타입 이름을 나타내는 문자열입니다.String
0, 문자열 타입은 빈 문자열, 널 허용 UInt8, String, 또는 NULL은 NULL을 반환합니다.
예시
사용 예시
Query
Response
Query
Response
displayName
display_name 값이 설정되어 있으면 그 값을 반환하고, 설정되어 있지 않으면 server의 정규화된 도메인 이름(FQDN)을 반환합니다.
구문
- 없음.
display_name 값이 설정된 경우 해당 값을 반환하며, 설정되지 않은 경우 server FQDN을 반환합니다. String
예시
사용 예시
Query
Response
dumpColumnStructure
x— 설명을 가져올 대상 값입니다.Any
String
예시
사용 예시
Query
Response
enabledProfiles
- 없음.
Array(String)
예시
사용 예시
Query
Response
enabledRoles
- 없음.
Array(String)
예시
사용 예시
Query
Response
errorCodeToName
error_code에 해당하는 이름 문자열을 반환합니다. String
예시
사용 예시
Query
Response
file
file 테이블 함수도 참고하십시오.
구문
path—user_files_path를 기준으로 한 파일의 경로입니다. 와일드카드*,**,?,{abc,def},{N..M}를 지원하며, 여기서N,M은 숫자이고'abc','def'는 문자열입니다.Stringdefault— 파일이 존재하지 않거나 액세스할 수 없는 경우 반환되는 값입니다.String또는NULL
String
예시
파일을 테이블에 삽입
Query
Response
filesystemAvailable
filesystemUnreserved)보다 작습니다.
구문
disk_name— 선택 사항입니다. 남은 여유 공간의 크기를 확인할 디스크 이름입니다. 생략하면 기본 디스크를 사용합니다.String또는FixedString
UInt64
예시
사용 예시
Query
Response
filesystemCapacity
disk_name— 선택 사항입니다. 용량을 조회할 디스크 이름입니다. 생략하면 기본 디스크를 사용합니다.String또는FixedString
UInt64
예시
사용 예시
Query
Response
filesystemUnreserved
filesystemFree).
관련 항목: filesystemAvailable.
구문
disk_name— 선택 사항입니다. 전체 여유 공간을 확인할 디스크 이름입니다. 생략하면 기본 디스크를 사용합니다.String또는FixedString
UInt64
예시
사용 예시
Query
Response
finalizeAggregation
state— 집계 상태입니다.AggregateFunction
Any
예시
사용 예시
Query
Response
Query
Response
flipCoordinates
geometry— 변환할 도형입니다. 지원되는 타입: Point (Tuple(Float64, Float64)), Ring (Array(Point)), Polygon (Array(Ring)), MultiPolygon (Array(Polygon)), LineString (Array(Point)), MultiLineString (Array(LineString)), 또는 Geometry (이들 타입 중 하나를 포함하는 Variant)입니다.
Point 또는 Ring 또는 Polygon 또는 MultiPolygon 또는 LineString 또는 MultiLineString 또는 Geometry
예시
basic_point
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
formatQuery
query— 포맷할 SQL 쿼리입니다. String
String
예시
여러 줄
Query
Response
formatQueryOrNull
query— 포맷할 SQL 쿼리입니다. String
String
예시
여러 줄
Query
Response
formatQuerySingleLine
formatQuery()와 비슷하지만 반환되는 포맷된 문자열에는 줄바꿈이 없습니다. 파싱 오류가 발생한 경우 예외를 발생시킵니다.
[example:multiline]
구문
query— 포맷할 SQL 쿼리입니다. String
String
예시
여러 줄
Query
Response
formatQuerySingleLineOrNull
query— 포맷할 SQL 쿼리입니다.String
String
예시
여러 줄
Query
Response
formatReadableDecimalSize
parseReadableSize입니다.
구문
value— 바이트 단위의 크기입니다.Int8orInt16orInt32orInt64orUInt8orUInt16orUInt32orUInt64orFloat32orFloat64orDecimalprecision— 선택 사항입니다. 소수점 이하 자릿수입니다. 기본값은 2입니다.const UInt8
String
예시
파일 크기 형식 지정
Query
Response
Query
Response
formatReadableQuantity
Float64로 형변환합니다.
큰 값에서는 결과가 다소 부정확할 수 있습니다.
구문
value— 포맷할 숫자입니다.Int8또는Int16또는Int32또는Int64또는UInt8또는UInt16또는UInt32또는UInt64또는Float32또는Float64또는Decimalprecision— 선택 사항입니다. 소수점 이하 자릿수입니다. 기본값은 2입니다.const UInt8
String
예시
접미사를 사용해 숫자 포맷하기
Query
Response
Query
Response
formatReadableSize
parseReadableSize, parseReadableSizeOrZero, parseReadableSizeOrNull입니다.
이 함수는 모든 숫자 유형을 입력으로 받을 수 있지만, 내부적으로는 이를 Float64로 변환합니다. 값이 큰 경우 결과가 최적이지 않을 수 있습니다.
구문
FORMAT_BYTES
인수
value— 바이트 단위의 크기입니다.Int8orInt16orInt32orInt64orUInt8orUInt16orUInt32orUInt64orFloat32orFloat64orDecimalprecision— 선택 사항입니다. 소수점 이하 자릿수입니다. 기본값은 2입니다.const UInt8
String
예시
파일 크기 포맷 지정
Query
Response
Query
Response
formatReadableTimeDelta
INTERVAL 표현식이 주어지면, 이 함수는 year/month/day/hour/minute/second/millisecond/microsecond/nanosecond 단위로 이루어진 시간 차이를 문자열로 반환합니다.
이 함수는 입력으로 모든 숫자 유형을 받을 수 있지만, 내부적으로는 이를 Float64로 CAST합니다. 값이 큰 경우 결과가 다소 부정확할 수 있습니다.
INTERVAL 표현식이 전달되면 해당 값은 초로 변환됩니다. MONTH 이상의 인터벌 단위(MONTH, QUARTER, YEAR)는 초 단위의 고정된 크기 인터벌을 나타내지 않으므로 지원되지 않습니다.
구문
column— 숫자형 시간 차이를 나타내는 컬럼 또는INTERVAL표현식입니다.MONTH이상의 인터벌 단위는 지원되지 않습니다.Float64orIntervalmaximum_unit— 선택 사항입니다. 표시할 최대 단위입니다. 허용되는 값:nanoseconds,microseconds,milliseconds,seconds,minutes,hours,days,months,years. 기본값은years입니다.const Stringminimum_unit— 선택 사항입니다. 표시할 최소 단위입니다. 이보다 작은 모든 단위는 버려집니다. 허용되는 값:nanoseconds,microseconds,milliseconds,seconds,minutes,hours,days,months,years. 명시적으로 지정한 값이maximum_unit보다 크면 예외가 발생합니다. 기본값은maximum_unit이seconds이상이면seconds이고, 그렇지 않으면nanoseconds입니다.const String
String
예시
사용 예시
Query
Response
Query
Response
Query
Response
fuzzQuery
allow_fuzz_query_functions = 1이 필요합니다.
구문
query— 퍼징 대상 SQL 쿼리입니다. String
String
예시
기본
Query
Response
generateRandomStructure
column1_name column1_type, column2_name column2_type, ... 포맷의 무작위 테이블 구조를 생성합니다.
구문
number_of_columns— 결과 테이블 구조의 원하는 컬럼 수입니다. 0 또는Null로 설정하면 컬럼 수는 1~128 사이에서 무작위로 정해집니다. 기본값은Null입니다.UInt64seed— 일관된 결과를 생성하기 위한 랜덤 시드입니다. 시드를 지정하지 않거나Null로 설정하면 무작위로 생성됩니다.UInt64
String
예시
사용 예시
Query
Response
Query
Response
Query
Response
generateSerialID
series_keeper_path에서 설정할 수 있습니다.
구문
series_identifier— 시리즈 식별자const Stringstart_value— 선택 사항입니다. 카운터의 시작 값입니다. 기본값은 0입니다. 참고: 이 값은 새 시리즈를 생성할 때만 사용되며, 시리즈가 이미 존재하면 무시됩니다UInt*
UInt64
예시
첫 번째 호출
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
getClientHTTPHeader
Authentication, X-ClickHouse-*)는 제한됩니다.
설정
allow_get_client_http_header이 필요합니다이 함수를 사용하려면 설정 allow_get_client_http_header이 활성화되어 있어야 합니다.
Cookie와 같은 일부 헤더에는 민감한 정보가 포함될 수 있으므로, 보안상의 이유로 이 설정은 기본적으로 활성화되어 있지 않습니다.name— HTTP 헤더의 이름입니다.String
String
예시
사용 예시
Query
Response
getMacro
<macros> 섹션에 정의되며, 호스트명이 복잡하더라도 서버를 알기 쉬운 이름으로 구분하는 데 사용할 수 있습니다.
이 함수가 분산 테이블에서 실행되면 각 세그먼트에 해당하는 값을 가진 일반 컬럼을 생성합니다.
구문
name— 가져올 매크로의 이름입니다.const String
String
예시
기본 사용법
Query
Response
getMaxTableNameLengthForDatabase
database_name— 지정된 데이터베이스의 이름입니다.String
Query
Response
getMergeTreeSetting
setting_name— 설정 이름입니다.String
Query
Response
getOSKernelVersion
- 없음.
String
예시
사용 예시
Query
Response
getServerPort
port_name— 포트 이름입니다.String
UInt16
예시
사용 예시
Query
Response
getServerSetting
setting_name— 서버 설정 이름입니다.String
Any
예시
사용 예시
Query
Response
getSetting
setting_Name— 설정 이름입니다.const String
Any
예시
사용 예시
Query
Response
getSettingOrDefault
setting_name— 설정 이름입니다.Stringdefault_value— custom_setting이 설정되지 않은 경우 반환할 값입니다. 값은 모든 데이터 타입이거나 Null일 수 있습니다.
default_value를 반환합니다.
예시
사용 예시
Query
Response
getSizeOfEnumType
Enum에 포함된 필드 수를 반환합니다.
구문
x—Enum타입의 값.Enum
Enum인 필드 수를 반환합니다. UInt8/16
예시
사용 예시
Query
Response
getSubcolumn
- 없음.
Query
Response
getTypeSerializationStreams
col— 데이터 타입을 판별할 컬럼 또는 데이터 타입의 문자열 표현입니다.Any
Array(String)
예시
tuple
Query
Response
Query
Response
globalVariable
name— 전역 변수의 이름입니다.String
name의 값을 반환합니다. Any
예시
globalVariable
Query
Response
hasColumnInTable
0을 반환합니다.
구문
database— 데이터베이스 이름입니다.const Stringtable— 테이블 이름입니다.const Stringcolumn— 컬럼 이름입니다.const Stringhostname— 선택 사항입니다. 확인을 수행할 원격 서버의 호스트명입니다.const Stringusername— 선택 사항입니다. 원격 서버의 사용자 이름입니다.const Stringpassword— 선택 사항입니다. 원격 서버의 비밀번호입니다.const String
1을 반환하고, 그렇지 않으면 0을 반환합니다. UInt8
예시
기존 컬럼 확인
Query
Response
Query
Response
hasThreadFuzzer
- 없음.
UInt8
예시
Thread Fuzzer 상태 확인
Query
Response
highlightQuery
query— ClickHouse SQL 쿼리 문자열입니다. String.
(begin UInt64, end UInt64, type Enum8(...))의 배열입니다. Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
예시
기본
Query
Response
hostName
hostname
인수
- 없음.
String
예시
사용 예시
Query
Response
icebergBucket
N— 버킷 수를 나타내는 모듈로 값입니다.const (U)Int*value— 변환할 원본 값입니다.(U)Int*orBoolorDecimalorFloat*orStringorFixedStringorUUIDorDateorTimeorDateTime
Int32
예시
예시
Query
Response
icebergTruncate
Query
Response
identity
x— 입력 값입니다.Any
Any
예시
사용 예시
Query
Response
ignore
0을 반환합니다.
구문
x— 구문 오류를 방지하기 위해서만 전달되며 실제로는 사용되지 않는 입력 값입니다.Any
0을 반환합니다. UInt8
예시
사용 예시
Query
Response
indexHint
indexHint로 감싸져 있지 않은 것으로 간주됩니다.
따라서 해당 조건에 따라 인덱스 범위의 데이터를 선택하면서도, 그 조건으로 추가 필터링은 하지 않을 수 있습니다.
ClickHouse의 인덱스는 희소하므로, indexHint를 사용하면 동일한 조건을 직접 지정할 때보다 더 많은 데이터가 반환됩니다.
설명
설명
다음을 실행하면:ClickHouse는 두 가지 작업을 수행합니다:ClickHouse는 한 가지 작업만 수행합니다:
- 인덱스를 사용해
key = 123을 포함할 수 있는 그래뉼(약 8192개 행의 블록)을 찾습니다 - 해당 그래뉼을 읽은 다음 각 행을 필터링하여
key = 123인 행만 반환합니다
indexHint를 사용해 다음을 실행하면:- 인덱스를 사용해
key = 123을 포함할 수 있는 그래뉼을 찾고, 필터링 없이 해당 그래뉼의 모든 행을 반환합니다.
key = 456, key = 789인 행 등을 포함해 8,192개 행 전체를 반환합니다. (같은 그래뉼에 저장된 모든 데이터가 반환됩니다.)
indexHint()는 성능 향상을 위한 기능이 아닙니다. ClickHouse 인덱스가 어떻게 동작하는지 디버깅하고 이해하기 위한 기능입니다:- 내 조건은 어떤 그래뉼을 선택하는가?
- 해당 그래뉼에는 몇 개의 행이 있는가?
- 인덱스가 효과적으로 사용되고 있는가?
indexHint 함수를 사용해 쿼리를 최적화할 수는 없습니다. indexHint 함수는 쿼리 분석에 추가 정보를 제공하지 않으므로 쿼리를 최적화하지 않습니다. indexHint 함수 안에 표현식을 넣는 것이 indexHint 함수 없이 사용하는 것보다 어떤 면에서도 더 낫지 않습니다. indexHint 함수는 내부 검사와 디버깅 목적으로만 사용할 수 있으며 성능을 개선하지 않습니다. ClickHouse 기여자가 아닌 사람이 indexHint를 사용하는 경우, 실수일 가능성이 높으므로 제거해야 합니다.
구문
expression— 인덱스 범위 선택에 사용할 임의의 표현식입니다.Expression
1을 반환합니다. UInt8
예시
날짜 필터링 사용 예시
Query
Response
initialQueryID
system.query_log의 initial_query_id 필드에서 추출할 수 있습니다.
queryID 함수와 달리, initialQueryID는 서로 다른 세그먼트에서도 동일한 결과를 반환합니다.
구문
initial_query_id
인수
- 없습니다.
String
예시
사용 예시
Query
Response
initialQueryStartTime
initialQueryStartTime은 서로 다른 세그먼트에서도 동일한 결과를 반환합니다.
구문
initial_query_start_time
인수
- None.
DateTime
예시
사용 예시
Query
Response
initializeAggregation
AggregateFunction 타입의 컬럼에 삽입하거나, 초기화된 집계를 기본값으로 사용할 수 있습니다.
구문
initializeAggregation이 첫 번째 인수로 받는 함수의 반환 유형과 동일합니다. Any
예시
uniqState를 사용한 기본 사용법
Query
Response
Query
Response
isConstant
x— 검사할 표현식입니다.Any
x가 상수이면 1을, 상수가 아니면 0을 반환합니다. UInt8
예시
상수 표현식
Query
Response
Query
Response
Query
Response
Query
Response
isDecimalOverflow
value— 확인할 Decimal 값입니다.Decimalprecision— 선택 사항입니다. Decimal 타입의 정밀도입니다. 생략하면 첫 번째 인수의 원래 정밀도가 사용됩니다.UInt8
1을, 지정된 정밀도를 만족하면 0을 반환합니다. UInt8
예시
사용 예시
Query
Response
joinGet
ENGINE = Join(ANY, LEFT, <join_keys>) 문으로 생성된 테이블만 지원합니다.join_storage_table_name— 검색을 수행할 위치를 나타내는 식별자입니다. 이 식별자는 기본 데이터베이스에서 검색됩니다(구성 파일의 매개변수default_database참조). 기본 데이터베이스를 재정의하려면USE database_name쿼리를 사용하거나database_name.table_name처럼 마침표로 데이터베이스와 테이블을 지정하십시오.Stringvalue_column— 필요한 데이터를 포함하는 테이블 컬럼 이름입니다.const Stringjoin_keys— 조인 키 목록입니다.Any
Any
예시
사용 예시
Query
Response
Query
Response
Query
Response
joinGetOrNull
joinGet과 달리 키가 없으면 NULL을 반환합니다.
ENGINE = Join(ANY, LEFT, <join_keys>) 문으로 생성된 테이블만 지원합니다.join_storage_table_name— 검색을 수행할 위치를 나타내는 식별자입니다. 이 식별자는 기본 데이터베이스에서 검색됩니다(config 파일의default_database매개변수 참조). 기본 데이터베이스를 변경하려면USE database_name쿼리를 사용하거나database_name.table_name처럼 점으로 데이터베이스와 테이블을 지정하십시오.Stringvalue_column— 필요한 데이터가 들어 있는 테이블 컬럼의 이름입니다.const Stringjoin_keys— 조인 키 목록입니다.Any
NULL을 반환합니다. Any
예시
사용 예시
Query
Response
lowCardinalityIndices
col— 낮은 카디널리티 컬럼입니다.LowCardinality
UInt64
예시
사용 예시
Query
Response
lowCardinalityKeys
col— 낮은 카디널리티를 사용하는 컬럼입니다.LowCardinality
UInt64
예시
lowCardinalityKeys
Query
Response
materialize
x— 상수입니다.Any
Any
예시
사용 예시
Query
Response
minSampleSizeContinuous
minSampleSizeContinous
인수
baseline— 메트릭의 기준값입니다.(U)Int*또는Float*sigma— 메트릭 기준값의 표준편차입니다.(U)Int*또는Float*mde— 기준값 대비 백분율로 나타낸 최소 검출 가능 효과(MDE)입니다(예: 기준값이 112.25이고 MDE가 0.03이면 예상 변화는 112.25 ± 112.25*0.03입니다).(U)Int*또는Float*power— 검정에 필요한 통계적 검정력입니다(1 - 제2종 오류 확률).(U)Int*또는Float*alpha— 검정에 필요한 유의수준입니다(제1종 오류 확률).(U)Int*또는Float*
minimum_sample_size, detect_range_lower, detect_range_upper로 구성된 named Tuple을 반환합니다. 각각은 필요한 표본 크기, 반환된 표본 크기로는 검출할 수 없는 값 범위의 하한(baseline * (1 - mde)로 계산), 그리고 반환된 표본 크기로는 검출할 수 없는 값 범위의 상한(baseline * (1 + mde)로 계산)을 의미합니다(Float64). Tuple(Float64, Float64, Float64)
예시
minSampleSizeContinuous
Query
Response
minSampleSizeConversion
baseline— 기준 전환율입니다.Float*mde— 퍼센트 포인트 단위의 최소 검출 가능 효과(MDE)입니다(예: 기준 전환율이 0.25일 때 MDE가 0.03이면 0.25 ± 0.03의 변화가 예상됨을 의미합니다).Float*power— 검정에 필요한 통계적 검정력입니다(1 - 제2종 오류 확률).Float*alpha— 검정에 필요한 유의수준입니다(제1종 오류 확률).Float*
minimum_sample_size, detect_range_lower, detect_range_upper를 포함하는 named Tuple을 반환합니다. 각각은 순서대로 필요한 표본 크기, 반환된 필요 표본 크기에서 검출되지 않는 값 범위의 하한으로 baseline - mde로 계산한 값, 반환된 필요 표본 크기에서 검출되지 않는 값 범위의 상한으로 baseline + mde로 계산한 값입니다. Tuple(Float64, Float64, Float64)
예시
minSampleSizeConversion
Query
Response
neighbor
allow_deprecated_error_prone_window_functions = 1을 설정하면 활성화할 수 있습니다.
구문
column— 원본 컬럼입니다.Anyoffset— 현재 행을 기준으로 한 오프셋입니다. 양수 값은 이후 행을, 음수 값은 이전 행을 참조합니다.Integerdefault_value— 선택 사항입니다. 오프셋이 데이터 범위를 벗어날 경우 반환할 값입니다. 지정하지 않으면 해당 컬럼 타입의 기본값을 사용합니다.Any
Any
예시
사용 예시
Query
Response
Query
Response
normalizeQuery
?로 대체합니다.
구문
x— 문자 시퀀스입니다.String
String
예시
사용 예시
Query
Response
normalizeQueryKeepNames
?로 대체하지만, 복잡한 별칭(alias)(공백을 포함하거나, 3자리 이상의 숫자를 포함하거나, UUID처럼 길이가 36바이트 이상인 경우)은 대체하지 않습니다.
이렇게 하면 복잡한 쿼리 로그를 더 효과적으로 분석할 수 있습니다.
구문
x— 문자 시퀀스입니다.String
String
예시
사용 예시
Query
Response
normalizedQueryHash
x— 문자 시퀀스입니다.String
UInt64
예시
사용 예시
Query
Response
normalizedQueryHashKeepNames
normalizedQueryHash와 마찬가지로, 유사한 쿼리에 대해 리터럴 값은 제외한 동일한 64비트 해시 값을 반환합니다. 다만 해싱 전에 복잡한 별칭(공백을 포함하거나, 2자리를 초과하는 숫자를 포함하거나, UUID처럼 길이가 36바이트 이상인 경우)을 플레이스홀더로 대체하지는 않습니다.
쿼리 로그를 분석할 때 유용할 수 있습니다.
구문
x— 문자열입니다.String
UInt64
예시
사용 예시
Query
Response
obfuscateQuery
tag 매개변수는 동일한 함수 호출이
쿼리에서 여러 번 사용될 때 공통 하위 표현식 제거가 일어나지 않도록 합니다. 이렇게 하면 각 호출마다 서로 다른 난독화 결과가 생성됩니다.
기능:
- table 이름, 컬럼 이름, 별칭을 무작위 단어로 대체합니다
- 숫자 및 문자열 리터럴을 무작위 값으로 대체합니다
- 전체 쿼리 구조와 SQL 구문을 유지합니다
- 서로 다른 행에 대해 서로 다른 결과를 생성합니다
query— 난독화할 SQL 쿼리입니다.Stringtag— 선택 사항입니다. 동일한 함수 호출을 여러 번 사용할 때 공통 하위 표현식 제거를 방지하기 위한 값입니다.
String
예시
기본 사용법
Query
Response
Query
Response
Query
Response
obfuscateQueryWithSeed
obfuscateQuery()와 달리, 이 함수는 동일한 seed가 주어지면 항상 동일한 결과를 생성합니다.
여러 번 실행하더라도 일관된 난독화가 필요하거나, 테스트 또는 디버깅 목적으로
동일하게 난독화된 쿼리를 재현하려는 경우에 유용합니다.
기능:
- 제공된 seed를 기반으로 한 결정론적 난독화
- 동일한 seed는 항상 동일한 난독화 결과를 생성
- 서로 다른 seed는 서로 다른 결과를 생성
obfuscateQuery()처럼 쿼리 구조를 유지
- 재현 가능한 테스트 케이스
- 여러 번 실행해도 일관된 익명화
- 일관되게 난독화된 쿼리를 사용한 디버깅
query— 난독화할 SQL 쿼리입니다.Stringseed— 난독화에 사용할 시드입니다. 동일한 시드를 사용하면 항상 같은 결과가 생성됩니다.Integer또는String
String
예시
정수 시드를 사용한 결정적 난독화
Query
Response
Query
Response
Query
Response
parseReadableSize
B, KiB, KB, MiB, MB 등이 포함된 문자열(즉, ISO/IEC 80000-13 또는 10진 바이트 단위)이 주어지면, 이 함수는 해당하는 바이트 수를 반환합니다.
함수가 입력 값을 파싱할 수 없으면 예외를 발생시킵니다.
이 함수의 역연산은 formatReadableSize 및 formatReadableDecimalSize입니다.
구문
x— ISO/IEC 80000-13 또는 십진 바이트 단위를 사용하는 사람이 읽기 쉬운 형식의 크기입니다.String
UInt64
예시
사용 예시
Query
Response
parseReadableSizeOrNull
B, KiB, KB, MiB, MB 등의 단위(즉, ISO/IEC 80000-13 또는 10진 바이트 단위)가 주어지면, 이 함수는 해당하는 바이트 수를 반환합니다.
함수가 입력값을 파싱할 수 없으면 NULL을 반환합니다.
이 함수의 역연산은 formatReadableSize와 formatReadableDecimalSize입니다.
구문
x— ISO/IEC 80000-13 또는 10진 바이트 단위를 사용하는 사람이 읽기 쉬운 크기입니다.String
NULL을 반환합니다. Nullable(UInt64)
예시
사용 예시
Query
Response
parseReadableSizeOrZero
B, KiB, KB, MiB, MB 등의 단위를 포함하는 문자열(즉, ISO/IEC 80000-13 또는 10진 바이트 단위)이 주어지면, 이 함수는 해당하는 바이트 수를 반환합니다.
함수가 입력 값을 파싱할 수 없으면 0을 반환합니다.
이 함수의 역연산은 formatReadableSize 및 formatReadableDecimalSize입니다.
구문
x— ISO/IEC 80000-13 또는 10진 바이트 단위를 사용하는 사람이 읽기 쉬운 형식의 크기입니다.String
0을 반환합니다. UInt64
예시
사용 예시
Query
Response
parseTimeDelta
years,year,yr,ymonths,month,moweeks,week,wdays,day,dhours,hour,hr,hminutes,minute,min,mseconds,second,sec,smilliseconds,millisecond,millisec,msmicroseconds,microsecond,microsec,μs,µs,usnanoseconds,nanosecond,nanosec,ns
;, -, +, ,, :)를 사용해 조합할 수 있습니다.
연과 월의 길이는 근사값입니다. 1년은 365일이고 1개월은 30.5일입니다.
구문
timestr— 숫자 뒤에 시간 단위와 유사한 표현이 오는 문자열입니다.String
Float64
예시
사용 예시
Query
Response
Query
Response
partitionId
이 함수는 느리므로 많은 수의 행에 대해서는 호출하지 않는 것이 좋습니다.
partitionID
인수
column1, column2, ...— 파티션 ID를 반환할 컬럼입니다.
String
예시
사용 예시
Query
Response
queryID
system.query_log 테이블의 query_id 필드에서 확인할 수 있습니다.
initialQueryID 함수와 달리, queryID는 세그먼트마다 다른 결과를 반환할 수 있습니다.
구문
query_id
인수
- 없음.
String
예시
사용 예시
Query
Response
revision
- 없음.
UInt32
예시
사용 예시
Query
Response
rowNumberInAllBlocks
- None.
0부터 시작하는 번호로 반환합니다. UInt64
예시
사용 예시
Query
Response
rowNumberInBlock
rowNumberInBlock이 처리하는 각 블록에 대해 현재 행의 번호를 반환합니다.
반환되는 번호는 각 블록에서 0부터 시작합니다.
구문
- 없음.
0부터 시작하는 데이터 블록 내 행 번호를 반환합니다. UInt64
예시
사용 예시
Query
Response
runningAccumulate
agg_state— 집계 함수의 상태입니다.AggregateFunctiongrouping— 선택 사항입니다. 그룹화 키입니다.grouping값이 바뀌면 함수 상태가 재설정됩니다. 같음 연산자가 정의된 지원 데이터 타입이라면 무엇이든 사용할 수 있습니다.Any
Any
예시
initializeAggregation을 사용하는 사용 예시
Query
Response
runningConcurrency
start— 이벤트 시작 시간을 나타내는 컬럼입니다.Date또는DateTime또는DateTime64end— 이벤트 종료 시간을 나타내는 컬럼입니다.Date또는DateTime또는DateTime64
UInt32
예시
사용 예시
Query
Response
runningDifference
0을 반환하고, 이후 행에는 바로 이전 행과의 차이를 반환합니다.
함수의 결과는 처리되는 데이터 블록과 블록 내 데이터 순서에 따라 달라집니다.
runningDifference() 계산 시의 행 순서는 사용자에게 반환되는 행 순서와 다를 수 있습니다.
이를 방지하려면 ORDER BY가 포함된 서브쿼리를 만들고, 해당 서브쿼리 바깥에서 함수를 호출할 수 있습니다.
블록 크기가 결과에 영향을 준다는 점에 유의하십시오.
runningDifference의 내부 상태는 새 블록마다 재설정됩니다.
구문
x— 연속된 값의 차이를 계산할 컬럼입니다.Any
Query
Response
Query
Response
runningDifferenceStartingWithFirstValue
runningDifference와 달리 첫 번째 행에는 0이 아니라 실제 값을 반환합니다.
구문
x— running difference를 계산할 컬럼입니다.Any
Any
예시
사용 예시
Query
Response
serverUUID
- 없음.
UUID
예시
사용 예시
Query
Response
0을 반환합니다.
구문
- 없음.
0을 반환합니다. UInt32
예시
사용 예시
Query
Response
1부터 시작합니다.
쿼리가 분산되지 않은 경우에는 상수 값 0을 반환합니다.
구문
- 없음.
0을 반환합니다. UInt32
예시
사용 예시
Query
Response
showCertificate
- 없음.
Map(String, String)
예시
사용 예시
Query
Response
sleep
sleep() 함수는 쿼리 성능과 시스템 응답성에 부정적인 영향을 줄 수 있으므로, 일반적으로 프로덕션 환경에서는 사용하지 않는 것이 좋습니다.
하지만 다음과 같은 시나리오에서는 유용할 수 있습니다:
- 테스트: ClickHouse를 테스트하거나 벤치마크할 때, 특정 조건에서 시스템이 어떻게 동작하는지 관찰하기 위해 지연을 시뮬레이션하거나 일시 중지를 추가할 수 있습니다.
- 디버깅: 특정 시점의 시스템 상태나 쿼리 실행 상태를 확인해야 하는 경우,
sleep()을 사용해 일시 중지를 추가하면 관련 정보를 점검하거나 수집할 수 있습니다. - 시뮬레이션: 경우에 따라 네트워크 지연 시간이나 외부 시스템 의존성과 같이 지연 또는 일시 중지가 발생하는 실제 환경 시나리오를 시뮬레이션할 수 있습니다.
allow_sleep이 활성화된 경우).
구문
seconds— 쿼리 실행을 최대 3초 동안 일시 중지할 초 단위 시간입니다. 소수 단위 초를 지정하려면 부동소수점 값을 사용할 수 있습니다.const UInt*또는const Float*
0을 반환합니다. UInt8
예시
사용 예시
Query
Response
sleepEachRow
sleepEachRow() 함수는 sleep() 함수와 마찬가지로 주로 테스트 및 디버깅 용도로 사용됩니다.
이 함수를 사용하면 각 행을 처리할 때 지연을 시뮬레이션하거나 일시 중지를 넣을 수 있으므로, 다음과 같은 상황에서 유용합니다:
- 테스트: 특정 조건에서 ClickHouse의 성능을 테스트하거나 벤치마크할 때
sleepEachRow()를 사용해 처리되는 각 행마다 지연을 시뮬레이션하거나 일시 중지를 넣을 수 있습니다. - 디버깅: 처리되는 각 행마다 시스템 상태나 쿼리 실행 과정을 확인해야 하는 경우
sleepEachRow()를 사용해 일시 중지를 넣어 관련 정보를 점검하거나 수집할 수 있습니다. - 시뮬레이션: 경우에 따라 외부 시스템 또는 네트워크 지연 시간과 관련된 상황처럼, 각 행을 처리할 때마다 지연이나 일시 중지가 발생하는 실제 환경을 시뮬레이션하고자 할 수 있습니다.
seconds— 결과 집합의 각 행마다 쿼리 실행을 최대 3초 동안 일시 중지할 시간(초)입니다. 소수점 이하 초를 지정하려면 부동소수점 값도 사용할 수 있습니다.const UInt*또는const Float*
0을 반환합니다. UInt8
예시
사용 예시
Query
Response
structureToCapnProtoSchema
- 없음.
Query
Response
structureToProtobufSchema
structure— 문자열 형식의 ClickHouse 테이블 구조 정의입니다(예: ‘column1 Type1, column2 Type2’).Stringmessage_name— 생성된 스키마에서 사용할 Protobuf 메시지 타입의 이름입니다.String
String
예시
ClickHouse 구조를 Protobuf 스키마로 변환하기
Query
Response
tcpPort
- 없음.
UInt16
예시
사용 예시
Query
Response
throwIf
error_code 인수를 사용하려면 구성 매개변수 allow_custom_error_code_in_throw가 활성화되어 있어야 합니다.
구문
x— 검사할 조건입니다.Anymessage— 선택 사항입니다. 사용자 지정 오류 메시지입니다.const Stringerror_code— 선택 사항입니다. 사용자 지정 오류 코드입니다.const Int8/16/32
0을 반환하고, 조건이 true이면 예외를 발생시킵니다. UInt8
예시
사용 예시
Query
Response
toColumnTypeName
toTypeName과 달리, 반환되는 데이터 타입에는 Const 및 LowCardinality와 같은 내부 래퍼 컬럼이 포함될 수 있습니다.
구문
value— 내부 데이터 타입을 반환할 값입니다.Any
String
예시
사용 예시
Query
Response
toTypeName
NULL이 전달되면 함수는 Nullable(Nothing) 유형을 반환하며, 이는 ClickHouse의 내부 NULL 표현에 해당합니다.
구문
x— 임의 유형의 값입니다.Any
String
예시
사용 예시
Query
Response
tokenizeQuery
query— ClickHouse SQL 쿼리 문자열입니다. String.
(begin UInt64, end UInt64, type Enum8(...))의 배열입니다. Array(Tuple(begin UInt64, end UInt64, type Enum8(...)))
예시
간단한 예시
Query
Response
transactionID
구문
- None.
start_csn, local_tid, host_id로 구성된 튜플을 반환합니다.
start_csn: 전역 순차 번호이며, 이 트랜잭션이 시작될 때 확인된 가장 최신 커밋 타임스탬프입니다.local_tid: 특정 start_csn 내에서 이 호스트가 시작한 각 트랜잭션마다 고유한 로컬 순차 번호입니다.host_id: 이 트랜잭션을 시작한 호스트의 UUID입니다.Tuple(UInt64, UInt64, UUID)
Query
Response
transactionLatestSnapshot
이 함수는 실험적 기능 세트의 일부입니다. 다음 설정을 구성에 추가하여 실험적 트랜잭션 지원을 활성화하세요:자세한 내용은 Transactional (ACID) support 페이지를 참조하십시오.
- 없음.
UInt64
예시
사용 예시
Query
Response
transactionOldestSnapshot
이 함수는 실험적 기능 세트의 일부입니다. 다음 설정을 구성에 추가하여 실험적 트랜잭션 지원을 활성화하세요:자세한 내용은 Transactional (ACID) support 페이지를 참조하십시오.
- 없음.
UInt64
예시
사용 예시
Query
Response
transform
transform(x, array_from, array_to, default)- 일치하는 요소가 없을 때 기본값을 사용하여 매핑 배열로x를 변환합니다transform(x, array_from, array_to)- 동일하게 변환하지만 일치하는 값을 찾지 못하면 원래x를 반환합니다
array_from에서 x를 찾고, 동일한 인덱스에 있는 array_to의 해당 요소를 반환합니다.
array_from에서 x를 찾지 못하면 default 값(4개 매개변수 버전) 또는 원래 x(3개 매개변수 버전)를 반환합니다.
array_from에 일치하는 요소가 여러 개 있으면 첫 번째 일치 항목에 해당하는 요소를 반환합니다.
요구 사항:
array_from과array_to의 요소 수는 같아야 합니다- 4개 매개변수 버전:
transform(T, Array(T), Array(U), U) -> U여기서T와U는 서로 다르더라도 호환되는 타입일 수 있습니다 - 3개 매개변수 버전:
transform(T, Array(T), Array(T)) -> T여기서 모든 타입은 동일해야 합니다
x— 변환할 값입니다.(U)Int*또는Decimal또는Float*또는String또는Date또는DateTimearray_from— 일치하는 항목을 찾기 위한 값의 상수 배열입니다.Array((U)Int*)또는Array(Decimal)또는Array(Float*)또는Array(String)또는Array(Date)또는Array(DateTime)array_to—array_from에서 일치하는 항목에 대응하여 반환할 값의 상수 배열입니다.Array((U)Int*)또는Array(Decimal)또는Array(Float*)또는Array(String)또는Array(Date)또는Array(DateTime)default— 선택 사항입니다.x를array_from에서 찾지 못했을 때 반환할 값입니다. 생략하면x를 변경하지 않고 그대로 반환합니다.(U)Int*또는Decimal또는Float*또는String또는Date또는DateTime
x가 array_from의 요소와 일치하면 array_to의 대응 값을 반환하고, 그렇지 않으면 default(제공된 경우) 또는 x(default가 제공되지 않은 경우)를 반환합니다. Any
예시
transform(T, Array(T), Array(U), U) -> U
Query
Response
Query
Response
uniqThetaIntersect
uniqThetaSketch— uniqThetaSketch 객체입니다.Tuple또는Array또는Date또는DateTime또는String또는(U)Int*또는Float*또는Decimal
UInt64
예시
사용 예시
Query
Response
uniqThetaNot
uniqThetaSketch— uniqThetaSketch 객체입니다.Tuple또는Array또는Date또는DateTime또는String또는(U)Int*또는Float*또는Decimal
UInt64
예시
사용 예시
Query
Response
uniqThetaUnion
uniqThetaSketch— uniqThetaSketch 객체.Tuple또는Array또는Date또는DateTime또는String또는(U)Int*또는Float*또는Decimal
UInt64
예시
사용 예시
Query
Response
uptime
- 없음.
UInt32
예시
사용 예시
Query
Response
variantElement
Variant 컬럼에서 지정된 유형의 컬럼을 추출합니다.
구문
variant— Variant 컬럼입니다.Varianttype_name— 추출할 variant 유형의 이름입니다.Stringdefault_value—variant에 지정된 유형의 variant가 없을 경우 사용할 기본값입니다. 어떤 유형이든 가능합니다. 선택 사항입니다.Any
Any
예시
사용 예시
Query
Response
variantType
Variant 컬럼의 각 행에 대해 variant type의 이름을 반환합니다. 행에 NULL이 포함된 경우 해당 행에 대해 ‘None’을 반환합니다.
구문
variant— Variant 컬럼.Variant
Enum
예시
사용 예시
Query
Response
version
major_version.minor_version.patch_version.number_of_commits_since_the_previous_stable_release 형식의 문자열로 반환합니다.
분산 테이블에서 실행되면 이 함수는 각 세그먼트에 해당하는 값을 갖는 일반 컬럼을 생성합니다.
그렇지 않으면 상수 값을 반환합니다.
구문
- None.
String
예시
사용 예시
Query
Response
visibleWidth
NULL이 NULL에 해당하는 문자열로 표현됩니다.
구문
x— 모든 데이터 타입의 값입니다.Any
UInt64
예시
NULL의 표시 너비 계산
Query
Response
zookeeperSessionUptime
- 없음.
UInt32
예시
사용 예시
Query
Response