기타 함수
기타 함수 (Other Functions)
system.functions 시스템 테이블에서 정리된, 범주가 넓은 여러 유용한 함수들을 한 곳에 모아둔 페이지예요. 서버 정보 조회, 쿼리 포맷·난독화, 형변환·형식 이름 확인, 재무·색상·분산 쿼리 보조 등 다양한 함수가 포함돼요.
출처: 문서
본문
FQDN (FQDN)
ClickHouse 서버의 정규화된 도메인 이름(FQDN)을 반환해요. 이 함수는 비결정적이라서 같은 인자라도 호출 시점에 따라 다른 결과를 낼 수 있어요.
구문 (Syntax)
FQDN()
별칭 (Aliases): fullHostName
인자 (Arguments): 없음.
반환 값 (Returned value): ClickHouse 서버의 정규화된 도메인 이름. String
예시 (Examples)
SELECT fqdn()
┌─FQDN()────────────────────────┐
│ clickhouse.us-east-2.internal │
└───────────────────────────────┘
MACNumToString (MACNumToString)
UInt64 숫자를 빅엔디언 형식의 MAC 주소로 해석해요. 그리고 대응하는 MAC 주소를 AA:BB:CC:DD:EE:FF(콜론으로 구분된 16진수) 형식의 문자열로 반환해요.
구문 (Syntax)
MACNumToString(num)
인자 (Arguments)
num— UInt64 숫자.UInt64
반환 값 (Returned value): AA:BB:CC:DD:EE:FF 형식의 MAC 주소. String
예시 (Examples)
SELECT MACNumToString(149809441867716) AS mac_address;
┌─mac_address───────┐
│ 88:40:3A:91:07:C4 │
└───────────────────┘
MACStringToNum (MACStringToNum)
MACNumToString의 역함수예요. MAC 주소 형식이 올바르지 않으면 0을 반환해요.
구문 (Syntax)
MACStringToNum(s)
인자 (Arguments)
s— MAC 주소 문자열.String
반환 값 (Returned value): UInt64 숫자. UInt64
예시 (Examples)
SELECT MACStringToNum('01:02:03:04:05:06') AS mac_numeric;
1108152157446
MACStringToOUI (MACStringToOUI)
AA:BB:CC:DD:EE:FF 형식(콜론으로 구분된 16진수)의 MAC 주소가 주어지면, 처음 3개 옥텟(octet)을 UInt64 숫자로 반환해요. MAC 주소 형식이 올바르지 않으면 0을 반환해요.
구문 (Syntax)
MACStringToOUI(s)
인자 (Arguments)
s— MAC 주소 문자열.String
반환 값 (Returned value): 처음 3개 옥텟에 해당하는 UInt64 숫자. UInt64
예시 (Examples)
SELECT MACStringToOUI('11:22:33:44:55:66') AS oui, toTypeName(oui) AS type;
┌──────oui─┬─type───┐
│ 1122867 │ UInt64 │
└──────────┴────────┘
authenticatedUser (authenticatedUser)
인증된 사용자의 이름을 반환해요. 세션에 속한 사용자 계정의 이름이에요.
구문 (Syntax)
authenticatedUser()
반환 값 (Returned value): 인증된 사용자의 이름. String
예시 (Examples)
SELECT authenticatedUser();
┌─authenticatedUser()─┐
│ default │
└─────────────────────┘
bar (bar)
유니코드 막대(bar) 차트를 그려요. 기본적으로 막대가 전체 너비의 1/80이에요. 히스토그램의 시각화에 사용해요.
구문 (Syntax)
bar(x, min, max, width)
인자 (Arguments)
x— 표시할 크기.min,max— 정수 상수. 전체 값 범위가 이 구간에 들어가야 해요.width— 정수 상수. 막대 너비(문자 수).
반환 값 (Returned value): 너비가 width인 막대가 몇 개인가(next step 만큼). 문자열의 해요체.
예시 (Examples)
SELECT bar(1, 0, 10, 10);
█
blockNumber (blockNumber)
행이 속한 블록의 시퀀스 번호를 반환해요. 각 삽입(insert) 블록을 처리할 때마다 이 번호가 증가해요. 블록에 행을 읽는 동안 매번 증가해요. 참고: blockNumber는 64비트 부호 없는 정수형이라, 블록이 많아지면 오버플로가 발생할 수 있어요.
구문 (Syntax)
blockNumber()
반환 값 (Returned value): 행이 속한 데이터 블록의 시퀀스 번호. UInt64
예시 (Examples)
SELECT blockNumber() FROM test;
┌─blockNumber()─┐
│ 1 │
└───────────────┘
blockSerializedSize (blockSerializedSize)
압축을 무시한, 블록의 크기를 반환해요. 즉 블록의 모든 컬럼의 크기를 합산한 값이에요.
구문 (Syntax)
blockSerializedSize(value[, value, ...])
인자 (Arguments)
value— 아무 값이나 가능.
반환 값 (Returned value): 값들의 바이트 수. UInt64
예시 (Examples)
SELECT blockSerializedSize(number) FROM numbers(10);
┌─blockSerializedSize(number)─┐
│ 80 │
└────────────────────────────┘
blockSize (blockSize)
ClickHouse에서 블록 단위로 처리되는 데이터 조각이에요. 행이 속한 블록의 크기(행 수)를 반환해요.
구문 (Syntax)
blockSize()
반환 값 (Returned value): 행이 속한 블록의 행 개수. UInt64
예시 (Examples)
SELECT blockSize() FROM numbers(5);
┌─blockSize()─┐
│ 5 │
└────────────┘
buildId (buildId)
ClickHouse 서버 바이너리의 build id를 문자열로 반환해요.
구문 (Syntax)
buildId()
반환 값 (Returned value): 서버 빌드의 build id. String
byteSize (byteSize)
메모리에서 인자의 바이트 크기를 반환해요.
구문 (Syntax)
byteSize(argument)
인자 (Arguments)
argument— 값.
반환 값 (Returned value): 메모리의 인자 크기(바이트). UInt64
예시 (Examples)
SELECT byteSize('string');
┌─byteSize('string')─┐
│ 7 │
└────────────────────┘
colorOKLABToSRGB (colorOKLABToSRGB)
tuple(L, a, b) 형태(각 구성 요소는 float 타입)의 OKLab 색상 공간을 tuple(r, g, b) 형태의 표준 RGB 색상 공간으로 변환해요. L 값은 [0, 1] 범위, a·b 값은 [-0.4, 0.4] 범위여야 해요.
구문 (Syntax)
colorOKLABToSRGB(L, a, b)
인자 (Arguments)
L— float 타입의 Lightness(명도).a— float 타입의 a 축(green↔magenta) 값.b— float 타입의 b 축(blue↔yellow) 값.
반환 값 (Returned value): (r, g, b) 튜플. 각 요소는 float이며 [0, 1] 범위예요.
예시 (Examples)
SELECT colorOKLABToSRGB(0.5, 0.1, 0.1);
(0.41438514, 0.44766632, 0.37243408)
colorOKLCHToSRGB (colorOKLCHToSRGB)
tuple(L, C, h) 형태의 OKLCH 색상 공간을 tuple(r, g, b) 형태의 표준 RGB 색상 공간으로 변환해요. L 값은 [0, 1], C 값은 [0, 0.4], h 값은 [-180, 180](도) 범위여야 해요.
구문 (Syntax)
colorOKLCHToSRGB(L, C, h)
인자 (Arguments)
L— float 타입의 Lightness.C— float 타입의 Chroma(채도).h— float 타입의 Hue(색상), 도 단위.
반환 값 (Returned value): (r, g, b) 튜플. 각 요소는 float이며 [0, 1] 범위예요.
예시 (Examples)
SELECT colorOKLCHToSRGB(0.5, 0.1, 0.1);
(0.6043497, 0.37283242, 0.36442277)
colorSRGBToOKLAB (colorSRGBToOKLAB)
tuple(r, g, b) 형태의 표준 RGB 색상 공간을 tuple(L, a, b) 형태의 OKLab 색상 공간으로 변환해요. r·g·b 값은 [0, 1] 범위여야 해요.
구문 (Syntax)
colorSRGBToOKLAB(r, g, b)
인자 (Arguments)
r— float 타입의 red(빨강) 값.g— float 타입의 green(초록) 값.b— float 타입의 blue(파랑) 값.
반환 값 (Returned value): (L, a, b) 튜플. 각 요소는 float예요.
예시 (Examples)
SELECT colorSRGBToOKLAB(0.5, 0.5, 0.5);
(0.5341045, 0.0000128, 0.0000128)
colorSRGBToOKLCH (colorSRGBToOKLCH)
tuple(r, g, b) 형태의 표준 RGB 색상 공간을 tuple(L, C, h) 형태의 OKLCH 색상 공간으로 변환해요. r·g·b 값은 [0, 1] 범위여야 해요.
구문 (Syntax)
colorSRGBToOKLCH(r, g, b)
인자 (Arguments)
r— float 타입의 red 값.g— float 타입의 green 값.b— float 타입의 blue 값.
반환 값 (Returned value): (L, C, h) 튜플. 각 요소는 float예요.
예시 (Examples)
SELECT colorSRGBToOKLCH(0.5, 0.5, 0.5);
(0.5341045, 0.0000181, 180.0)
connectionId (connectionId)
현재 연결의 식별자를 반환해요. 모든 실시간 연결의 ID는 연결이 열려 있는 동안 서로 달라요. 그리고 같은 시점에 서로 다른 세션의 연결에서 사용되는 연결 ID는 항상 달라요. 현재 세션에 속해 있는 쿼리는 동일한 연결 ID를 반환해요.
구문 (Syntax)
connectionId()
반환 값 (Returned value): 현재 연결의 식별자. UInt64
예시 (Examples)
SELECT connectionId();
┌─connectionId()─┐
│ 1 │
└────────────────┘
countDigits (countDigits)
10진수로 표현했을 때의 자릿수를 반환해요(소수점, 마이너스 부호 제외). UInt64, Int128, Int256 또는 이와 대응되는 소수(Float) 타입에서 동작해요. 예를 들어 -1'000의 자릿수는 4예요. UInt 계열은 부호 없는 숫자로 처리해요. -127.44는 5자리로 처리돼요(소수점 제외).
구문 (Syntax)
countDigits(x)
인자 (Arguments)
x— 정수 또는 소수.
반환 값 (Returned value): 자릿수. UInt8
예시 (Examples)
SELECT countDigits(toInt32(-1000));
┌─countDigits(toInt32(-1000))─┐
│ 4 │
└─────────────────────────────┘
currentDatabase (currentDatabase)
현재 데이터베이스의 이름을 반환해요. 이 함수를 사용해 default 대신 현재 데이터베이스 아래 존재하는 테이블에 쿼리를 실행할 수 있어요. 데이터베이스는 쿼리 시작 전 정적으로 결정되므로 테이블 함수에는 사용할 수 없어요.
구문 (Syntax)
currentDatabase()
반환 값 (Returned value): 현재 데이터베이스의 이름. String
예시 (Examples)
SELECT currentDatabase();
┌─currentDatabase()─┐
│ default │
└───────────────────┘
currentHandler (currentHandler)
현재 HTTP 핸들러의 이름을 반환해요. HTTP 인터페이스에서 사용되는 함수예요.
구문 (Syntax)
currentHandler()
반환 값 (Returned value): 현재 핸들러의 이름. LowCardinality(String)
예시 (Examples)
SELECT currentHandler();
┌─currentHandler()─┐
│ HTTPHandler │
└──────────────────┘
currentProfiles (currentProfiles)
현재 세션에 설정된 프로파일 리스트를 반환해요. SET profile1, profile2 등으로 설정할 수 있어요. 이후 SET ROLE ...로 변경할 수 있어요.
구문 (Syntax)
currentProfiles()
반환 값 (Returned value): 현재 세션 설정 프로파일의 이름 목록. Array(String)
예시 (Examples)
SELECT currentProfiles();
┌─currentProfiles()──┐
│ ['default'] │
└────────────────────┘
currentQueryID (currentQueryID)
query_id를 반환해요. 매개변수가 주어지지 않았을 경우 매개변수를 사용하지 않고 실행된 마지막 쿼리의 query_id를 반환해요. 매개 변수로 현재 쿼리 ID를 알 수 없어요.
구문 (Syntax)
currentQueryID()
반환 값 (Returned value): 쿼리 ID를 반환해요. String
예시 (Examples)
SELECT currentQueryID();
┌─currentQueryID()────┐
│ bfb08f2c-9cb1-4b25-bb37-argu157n7561 │
└─────────────────────┘
currentRequestURL (currentRequestURL)
현재 요청의 URL을 반환해요. HTTP 핸들러에서 사용되며, 비 HTTP 핸들러(예: gRPC, PostgreSQL)에서는 빈 문자열을 반환해요.
구문 (Syntax)
currentRequestURL()
반환 값 (Returned value): 현재 HTTP 요청 URL. String
예시 (Examples)
SELECT currentRequestURL();
┌─currentRequestURL()──────────────────────────────────────┐
│ http://localhost:8123/?query=select+url() │
└──────────────────────────────────────────────────────────┘
currentRoles (currentRoles)
현재 세션에 부여된 역할(roles) 목록을 반환해요. 이 목록은 SET ROLE 문으로 변경할 수 있어요. 나열되지 않은 역할도 활성화될 수 있는데, 예를 들어 현재 사용자의 기본 역할(default roles)일 수 있어요.
구문 (Syntax)
currentRoles()
반환 값 (Returned value): 현재 세션의 역할 이름 목록. Array(String)
예시 (Examples)
SELECT currentRoles();
┌─currentRoles()──────┐
│ ['admin'] │
└──────────────────────┘
currentSchemas (currentSchemas)
현재 세션의 모든 현재 스키마를 반환해요.
구문 (Syntax)
currentSchemas()
반환 값 (Returned value): 현재 세션의 스키마 목록. Array(String)
예시 (Examples)
SELECT currentSchemas();
┌─currentSchemas()─┐
│ ['default'] │
└──────────────────┘
currentUser (currentUser)
현재 사용자의 이름을 반환해요. 분산 쿼리에서 이 함수는 원격 서버에서 실행될 때 사용자 이름을 반환해요. (구버전에 있던 user() 별칭은 더 이상 사용되지 않아요.)
구문 (Syntax)
currentUser()
반환 값 (Returned value): 현재 사용자의 이름. String
예시 (Examples)
SELECT currentUser();
┌─currentUser()─┐
│ default │
└───────────────┘
defaultProfiles (defaultProfiles)
현재 사용자에게 설정된 지정된 프로파일 리스트를 반환해요.
구문 (Syntax)
defaultProfiles()
반환 값 (Returned value): 기본 프로파일의 이름 목록. Array(String)
예시 (Examples)
SELECT defaultProfiles();
┌─defaultProfiles()─┐
│ ['default'] │
└───────────────────┘
defaultRoles (defaultRoles)
현재 사용자에 지정된 역할(roles) 목록을 반환해요.
구문 (Syntax)
defaultRoles()
반환 값 (Returned value): 기본 역할의 이름 목록. Array(String)
예시 (Examples)
SELECT defaultRoles();
┌─defaultRoles()────┐
│ ['default'] │
└───────────────────┘
defaultValueOfArgumentType (defaultValueOfArgumentType)
표현식의 데이터 타입에 대한 기본값을 반환해요. 그리고 타입에 적합한 기본값을 갖지 않는 열에 대해서는 NULL을 반환해요.
구문 (Syntax)
defaultValueOfArgumentType(expression)
인자 (Arguments)
expression— 데이터 타입을 조사하려는 표현식.
반환 값 (Returned value): 기본값. Any.
예시 (Examples)
SELECT defaultValueOfArgumentType( CAST(1 AS Int8) );
┌─defaultValueOfArgumentType(CAST(1, 'Int8'))─┐
│ 0 │
└─────────────────────────────────────────────┘
defaultValueOfTypeName (defaultValueOfTypeName)
타입 이름 문자열에 대한 기본값(0이거나 빈 문자열)을 반환해요.
구문 (Syntax)
defaultValueOfTypeName(type)
인자 (Arguments)
type— 타입 이름 문자열.
반환 값 (Returned value): 기본값. Any.
예시 (Examples)
SELECT defaultValueOfTypeName('Int8');
┌─defaultValueOfTypeName('Int8')─┐
│ 0 │
└────────────────────────────────┘
digits (digits)
한 자리 숫자를 나타내는 문자열을 반환해요. 이 함수는 숫자의 각 자리를 개별 문자열로 분리해요.
구문 (Syntax)
digits(x)
인자 (Arguments)
x— 숫자.
반환 값 (Returned value): 각 자릿수를 나타내는 문자열 목록(Community Id의 예와 유사). Array(String)
예시 (Examples)
SELECT digits(number) FROM numbers(11);
┌─digits(number)─┐
│ [] │
│ ['1'] │
│ ['2'] │
│ ['3'] │
│ ['4'] │
│ ['5'] │
│ ['6'] │
│ ['7'] │
│ ['8'] │
│ ['9'] │
│ ['1','0'] │
└────────────────┘
displayName (displayName)
서버의 HTTP 핸들러의 표시 이름을 반환해요. HTTP 핸들러가 없다면 설정된 display_name 값이 반환돼요.
구문 (Syntax)
displayName()
반환 값 (Returned value): 서버의 표시 이름. String
예시 (Examples)
SELECT displayName();
┌─displayName()─┐
│ ClickHouse │
└───────────────┘
dumpColumnStructure (dumpColumnStructure)
단일 인자를 받아, 해당 인자의 상세한 구조를 텍스트로 출력해요.
구문 (Syntax)
dumpColumnStructure(value)
인자 (Arguments)
value— 모든 타입.
반환 값 (Returned value): 컬럼 구조를 설명하는 텍스트.
예시 (Examples)
SELECT dumpColumnStructure(1);
1:UInt8
enabledProfiles (enabledProfiles)
현재 사용자에게 활성화되었거나 해당 사용자에게 명시적으로 설정된 프로파일 리스트를 반환해요.
구문 (Syntax)
enabledProfiles()
반환 값 (Returned value): 활성화된 프로파일의 이름 목록. Array(String)
예시 (Examples)
SELECT enabledProfiles();
┌─enabledProfiles()─┐
│ ['default'] │
└───────────────────┘
enabledRoles (enabledRoles)
현재 사용자에게 활성화되었거나 해당 사용자에게 명시적으로 부여된 역할 리스트를 반환해요.
구문 (Syntax)
enabledRoles()
반환 값 (Returned value): 활성화된 역할의 이름 목록. Array(String)
예시 (Examples)
SELECT enabledRoles();
┌─enabledRoles()──┐
│ ['default'] │
└─────────────────┘
errorCodeToName (errorCodeToName)
error_codes에서 오류 코드를 조회해, 해당 오류 코드의 이름을 반환해요.
구문 (Syntax)
errorCodeToName(123)
인자 (Arguments)
123— 오류 코드 번호.
반환 값 (Returned value): 오류 이름. String
예시 (Examples)
SELECT errorCodeToName(123);
┌─errorCodeToName(123)─┐
│ NETWORK_ERROR │
└──────────────────────┘
file (file)
file 테이블 함수와 유사하게, 지정된 user_files_path에 있는 파일의 내용을 반환해요. 파일 경로는 서버 설정의 user_files_path에 명시돼 있어요. SET allow_introspection_functions=1처럼 제한이 있을 수 있어요.
구문 (Syntax)
file('file.txt')
인자 (Arguments)
file— 파일 경로(문자열).
반환 값 (Returned value): 파일의 내용(문자열).
filesystemAvailable (filesystemAvailable)
파일시스템에서 사용 가능한 여유 공간을 반환해요. 예를 들어 SELECT formatReadableSize(filesystemAvailable());로 사람이 읽기 좋게 포맷할 수 있어요.
구문 (Syntax)
filesystemAvailable()
반환 값 (Returned value): 남은 공간의 크기(바이트). UInt64
filesystemCapacity (filesystemCapacity)
파일시스템의 총 용량을 반환해요.
구문 (Syntax)
filesystemCapacity()
반환 값 (Returned value): 파일시스템의 총 용량(바이트). UInt64
filesystemUnreserved (filesystemUnreserved)
예약되지 않은 파일시스템 공간을 반환해요. 데이터베이스의 미리 지정된 계수 등을 고려한 값이에요.
구문 (Syntax)
filesystemUnreserved()
반환 값 (Returned value): 예약되지 않은 공간의 크기(바이트). UInt64
finalizeAggregation (finalizeAggregation)
aggregate_function 타입의 데이터에서 집계 함수의 최종 결과를 계산해요.
구문 (Syntax)
finalizeAggregation(state)
인자 (Arguments)
state— 집계 중간 상태를 담은 aggregate_function 타입.
반환 값 (Returned value): 집계의 최종 결과값.
flipCoordinates (flipCoordinates)
풍경의 좌표들의 순서를 바꿔요. Polygon의 경우 위도와 경도를 뒤집어요. 함수는 MapBox Vector Tile을 수신할 때 유용해요([lon, lat] 형식). 이 함수 결과의 유형은 입력 좌표 유형과 동일해요.
구문 (Syntax)
flipCoordinates(coordinates)
인자 (Arguments)
coordinates— Point이나 Ring, Polygon, MultiPolygon을 포함한 좌표 모음.
반환 값 (Returned value): 좌표의 순서가 뒤집힌 동일 타입의 값.
예시 (Examples)
SELECT flipCoordinates((1.1, 2.2));
(2.2, 1.1)
formatQuery (formatQuery)
주어진 SQL 쿼리를 포맷(문자열을 꺾쇠 등으로 다듬고 줄바꿈)해서 반환해요. 쿼리가 잘못된 경우 예외를 던져요.
구문 (Syntax)
formatQuery(query)
인자 (Arguments)
query— SQL 쿼리를 나타내는 문자열.
반환 값 (Returned value): 포맷된 쿼리 문자열. String
예시 (Examples)
SELECT formatQuery('select a,b from tab where a > 3 and b < 3');
SELECT
a,
b
FROM tab
WHERE (a > 3) AND (b < 3)
formatQueryFromJSON (formatQueryFromJSON)
형식화되지 않은 쿼리를 Scala 형식으로 된 JSON 형식으로 변환해요. 반환된 문자열은 쿼리를 연결하는 데 사용할 수 있어요.
구문 (Syntax)
formatQueryFromJSON(query)
인자 (Arguments)
query— JSON 형식의 쿼리.
반환 값 (Returned value): 포맷된 쿼리 문자열.
예시 (Examples)
SELECT formatQueryFromJSON('{"query":"select a,b from tab where a > 3 and b < 3"}');
formatQueryOrNull (formatQueryOrNull)
객체 형식으로 작성한 쿼리를 반환하고, 쿼리가 잘못된 경우 NULL을 반환해요.
구문 (Syntax)
formatQueryOrNull(query)
인자 (Arguments)
query— SQL 쿼리 문자열.
반환 값 (Returned value): 포맷된 쿼리 문자열 또는 NULL.
formatQuerySingleLine (formatQuerySingleLine)
주어진 SQL 쿼리를 한 줄로 포맷해 반환해요. 잘못된 쿼리면 예외를 던져요. 자세한 내용은 formatQuery를 참고해요.
구문 (Syntax)
formatQuerySingleLine(query)
인자 (Arguments)
query— SQL 쿼리 문자열.
반환 값 (Returned value): 한 줄로 포맷된 쿼리 문자열. String
예시 (Examples)
SELECT formatQuerySingleLine('select a,b from tab where a > 3 and b < 3');
SELECT a, b FROM tab WHERE (a > 3) AND (b < 3)
formatQuerySingleLineOrNull (formatQuerySingleLineOrNull)
주어진 SQL 쿼리를 한 줄로 포맷해 반환하고, 잘못된 쿼리면 NULL을 반환해요.
구문 (Syntax)
formatQuerySingleLineOrNull(query)
인자 (Arguments)
query— SQL 쿼리 문자열.
반환 값 (Returned value): 한 줄로 포맷된 쿼리 또는 NULL.
formatReadableDecimalSize (formatReadableDecimalSize)
숫자(바이트 크기)를 십진 단위(자릿수, 즉 10의 거듭제곱 기반)로 반올림한 더 읽기 쉬운 문자열로 변환해요. 이 함수는 소수점 자리수를 아랫자리에서 잘라 올림하지 않고, 가장 가까운 값으로 반올림해요.
구문 (Syntax)
formatReadableDecimalSize(x)
인자 (Arguments)
x— 바이트로 표현된 숫자.
반환 값 (Returned value): 십진 단위로 된 더 읽기 쉬운 문자열. String
예시 (Examples)
SELECT formatReadableDecimalSize(1000);
1.00 KiB
formatReadableQuantity (formatReadableQuantity)
10의 거듭제곱 단위로 거대한 수를 더 짧고 읽기 쉬운 형식으로 변환해요.
구문 (Syntax)
formatReadableQuantity(x)
인자 (Arguments)
x— 형식화할 숫자.
반환 값 (Returned value): 더 짧은 형식의 문자열. String
예시 (Examples)
SELECT formatReadableQuantity(1000000) AS r, formatReadableQuantity(1000000000) AS s, formatReadableQuantity(1000000000000) AS t;
┌──r───────┬──s───────┬──t───────┐
│ 1.00M │ 1.00B │ 1.00T │
└──────────┴──────────┴──────────┘
formatReadableSize (formatReadableSize)
바이트 수를 2진(이진) 배수 단위의 문자열로 변환해요(바이트, KiB, MiB, GiB, TiB, PiB, EiB).
구문 (Syntax)
formatReadableSize(x)
인자 (Arguments)
x— 바이트 단위의 숫자.
반환 값 (Returned value): 이진 단위로 된 더 읽기 쉬운 문자열. String
예시 (Examples)
SELECT formatReadableSize(2147483647);
2.00 GiB
formatReadableTimeDelta (formatReadableTimeDelta)
시간 델타(두 시각의 차이)를 읽기 쉬운 형식(년·주·일·시·분·초 단위)으로 변환해요.
구문 (Syntax)
formatReadableTimeDelta(expr[, use_units])
인자 (Arguments)
expr— 시간 델타(초 단위 숫자).use_units— 출력에 사용할 단위 목록(선택). 빈 배열이면 모든 단위가 사용돼요.
반환 값 (Returned value): 읽기 쉬운 델타 문자열.
예시 (Examples)
SELECT formatReadableTimeDelta(86401);
1 day, 1 second
fuzzQuery (fuzzQuery)
주어진 쿼리를 무작위로 수정해 반환해요. 쿼리 구조를 유지하면서도 일부 부분을 랜덤하게 바꿔요. 페이징(fuzzing) 테스트에 유용해요.
구문 (Syntax)
fuzzQuery(query)
인자 (Arguments)
query— SQL 쿼리 문자열.
반환 값 (Returned value): 수정된 쿼리 문자열.
generateRandomStructure (generateRandomStructure)
지정된 열 수·중첩 구조·배열·맵 등의 속성을 가진 임의의 중첩(복합) 구조를 생성해요.
구문 (Syntax)
generateRandomStructure([number_of_columns [, nesting_level [, max_array_length [, max_map_length [, max_bits_of_typenames [, max_bits_of_defaults [, array_of_maps_keys [, array_of_string_keys ]]]]]]]])
인자 (Arguments)
number_of_columns— 결과 구조의 열 수(선택, 기본 1).nesting_level— 중첩 구조의 깊이(선택, 기본 1).max_array_length— 배열의 최대 길이(선택, 기본 10).max_map_length— 맵의 최대 요소 수(선택, 기본 10).max_bits_of_typenames— 타입 이름의 최대 비트 수(선택, 기본 400).max_bits_of_defaults— 기본값 표현의 최대 비트 수(선택).array_of_maps_keys— 맵 키로 사용할 문자열 배열(선택).array_of_string_keys— LowCardinality 문자열 키 목록(선택).
반환 값 (Returned value): 생성된 열 정의 문자열.
예시 (Examples)
SELECT generateRandomStructure(3, 2, 2, 2, 5, 5, ['v1', 'v2'], ['k1', 'k2']);
generateSerialID (generateSerialID)
시리얼 ID를 생성해요. 시리얼 ID는 딱 한 번 생성되며, 데이터가 메모리에서 사라지거나 재시작되어도 세션이 살아있는 동안 유지돼요.
구문 (Syntax)
generateSerialID()
반환 값 (Returned value): 시리얼 ID. UInt32
예시 (Examples)
SELECT generateSerialID() AS id1, generateSerialID() AS id2;
┌─id1─┬─id2─┐
│ 0 │ 1 │
└─────┴─────┘
getClientHTTPHeader (getClientHTTPHeader)
HTTP 요청에서 특정 헤더의 값을 반환해요. 값이 없는 경우 빈 문자열을 반환해요.
구문 (Syntax)
getClientHTTPHeader(header_name)
인자 (Arguments)
header_name— 헤더 이름.
반환 값 (Returned value): 헤더 값 또는 빈 문자열. String
예시 (Examples)
SELECT getClientHTTPHeader('User-Agent');
┌─getClientHTTPHeader('User-Agent')──┐
│ clickhouse-cli / 24.2.1.1 │
└────────────────────────────────────┘
getMacro (getMacro)
서버 구성의 macros 섹션에서 지정된 매크로의 값을 반환해요. 매크로가 존재하지 않으면 예외를 던져요.
구문 (Syntax)
getMacro(name)
인자 (Arguments)
name— 매크로 이름.
반환 값 (Returned value): 매크로 값.
예시 (Examples)
SELECT getMacro('default');
getMaxTableNameLengthForDatabase (getMaxTableNameLengthForDatabase)
특정 데이터베이스에 허용되는 최대 테이블 이름 길이를 반환해요.
구문 (Syntax)
getMaxTableNameLengthForDatabase()
반환 값 (Returned value): 최대 테이블 이름 길이. UInt64
getMergeTreeSetting (getMergeTreeSetting)
MergeTree 설정의 값을 반환해요. 값이 설정되지 않았으면 NULL을 반환해요.
구문 (Syntax)
getMergeTreeSetting(setting_name [, value])
인자 (Arguments)
setting_name— 설정 이름.value— (선택) 값을 입력하면 비슷한 설정으로 지정된 설정을 찾아요.
반환 값 (Returned value): 지정된 설정 값.
예시 (Examples)
SELECT getMergeTreeSetting('ttl_only_drop_parts');
0
getOSKernelVersion (getOSKernelVersion)
운영체제 커널 버전을 반환해요.
구문 (Syntax)
getOSKernelVersion()
반환 값 (Returned value): 커널 버전 문자열.
예시 (Examples)
SELECT getOSKernelVersion();
┌─getOSKernelVersion()─┐
│ Linux 5.15.0-1031-aws │
└───────────────────────┘
getServerPort (getServerPort)
서버가 수신 중인 포트 번호를 반환해요. 서버에 포트가 없거나 포트가 설정되지 않았다면 예외를 던져요.
구문 (Syntax)
getServerPort(port_name)
인자 (Arguments)
port_name— 서버 설정의 포트 이름.
반환 값 (Returned value): 서버 포트 번호. UInt16
getServerSetting (getServerSetting)
서버 설정 값을 반환해요.
구문 (Syntax)
getServerSetting(setting_name[, default])
인자 (Arguments)
setting_name— 설정 이름.default— (선택) 설정이 비어 있을 때 반환할 값.
반환 값 (Returned value): 서버 설정 값.
예시 (Examples)
SELECT getServerSetting('max_table_size_to_drop');
50000000000
getSetting (getSetting)
설정의 현재 값을 반환해요.
구문 (Syntax)
getSetting('setting_name')
인자 (Arguments)
setting_name— 설정 이름.
반환 값 (Returned value): 설정의 현재 값.
예시 (Examples)
SELECT getSetting('max_threads');
┌─getSetting('max_threads')─┐
│ 4 │
└───────────────────────────┘
getSettingOrDefault (getSettingOrDefault)
지정된 세션 설정을 반환하고, 설정이 존재하지 않으면 기본값을 반환해요.
구문 (Syntax)
getSettingOrDefault('setting_name'[, default])
인자 (Arguments)
setting_name— 설정 이름.default— (선택) 설정이 없을 때 반환할 값.
반환 값 (Returned value): 세션 설정 값 또는 기본값.
예시 (Examples)
SELECT getSettingOrDefault('max_threads');
┌─getSettingOrDefault('max_threads')─┐
│ 4 │
└────────────────────────────────────┘
getSizeOfEnumType (getSizeOfEnumType)
열의 값 개수를 반환해요. Enum 타입이 아닌 경우 예외를 던져요.
구문 (Syntax)
getSizeOfEnumType(expression)
인자 (Arguments)
expression— Enum 타입의 표현식.
반환 값 (Returned value): 열 값의 개수. UInt64
예시 (Examples)
SELECT getSizeOfEnumType( CAST('a' AS Enum8('a' = 1, 'b' = 2)) );
┌─getSizeOfEnumType(CAST('a', 'Enum8(\'a\' = 1, \'b\' = 2)'))─┐
│ 2 │
└──────────────────────────────────────────────────────────────┘
getSubcolumn (getSubcolumn)
특정 서브컬럼의 값을 추출해요. 타입에 대한 자세한 내용은 서브컬럼을 참고해요.
구문 (Syntax)
getSubcolumn(subcolumn_name, column)
인자 (Arguments)
subcolumn_name— 서브컬럼 이름.column— 서브컬럼을 추출할 원본 컬럼.
반환 값 (Returned value): 지정된 서브컬럼의 값.
예시 (Examples)
SELECT getSubcolumn('key', m) FROM (SELECT map('a', 1) AS m);
┌─getSubcolumn('key', m)─┐
│ ['a'] │
└────────────────────────┘
getTypeSerializationStreams (getTypeSerializationStreams)
지정된 타입의 serialization에 사용되는 스트림 목록을 반환해요.
구문 (Syntax)
getTypeSerializationStreams(type[, format_settings])
인자 (Arguments)
type— 타입 문자열.format_settings— (선택) 포맷 설정.
반환 값 (Returned value): 스트림 이름의 배열. Array
예시 (Examples)
SELECT getTypeSerializationStreams('point');
┌─getTypeSerializationStreams('point')─────────────────────────┐
│ ['values','values.size','values.offsets','values.values'] │
└──────────────────────────────────────────────────────────────┘
globalVariable (globalVariable)
사용자 정의 전역 변수의 값을 반환해요. 없으면 NULL을 반환해요.
구문 (Syntax)
globalVariable('name')
인자 (Arguments)
name— 전역 변수 이름.
반환 값 (Returned value): 전역 변수의 값 또는 NULL.
예시 (Examples)
SELECT globalVariable('var1');
hasColumnInTable (hasColumnInTable)
지정된 테이블이 지정된 컬럼을 갖고 있는지 여부를 반환해요. 대소문자 구분 없이 비교해요.
구문 (Syntax)
hasColumnInTable(['database',] 'table', 'column')
인자 (Arguments)
database— (선택) 데이터베이스 이름. 지정하지 않으면 현재 기본 데이터베이스로 처리돼요.table— 테이블 이름.column— 컬럼 이름.
반환 값 (Returned value): 컬럼 존재 시 1, 없을 때 0. UInt8
예시 (Examples)
SELECT hasColumnInTable('system','tables','name');
┌─hasColumnInTable('system','tables','name')─┐
│ 1 │
└─────────────────────────────────────────────┘
hasThreadFuzzer (hasThreadFuzzer)
스레드 퍼저(thread fuzzer)가 활성화되어 있는지 여부를 반환해요.
구문 (Syntax)
hasThreadFuzzer()
반환 값 (Returned value): 활성 상태면 1, 아니면 0.
예시 (Examples)
SELECT hasThreadFuzzer();
┌─hasThreadFuzzer()─┐
│ 1 │
└───────────────────┘
highlightQuery (highlightQuery)
SQL 쿼리 문자열을 구문 강조(highlight)된 HTML 형식으로 반환해요. 강조색은 theme 매개변수로 지정할 수 있어요.
구문 (Syntax)
highlightQuery(query, [theme])
인자 (Arguments)
query— SQL 쿼리 문자열.theme— (선택) 강조 테마.
반환 값 (Returned value): 강조된 HTML 문자열.
예시 (Examples)
SELECT highlightQuery('SELECT 1');
hostName (hostName)
ClickHouse 서버가 실행 중인 컴퓨터의 이름을 반환해요.
구문 (Syntax)
hostName()
반환 값 (Returned value): 서버 호스트의 이름.
예시 (Examples)
SELECT hostName();
┌─hostName()───────────────┐
│ clickhouse.computer │
└──────────────────────────┘
icebergBucket (icebergBucket)
Iceberg 테이블의 파티션을 결정하는 버킷 번호를 반환해요. 파티션 키에 따라 데이터의 분포를 계산해요.
구문 (Syntax)
icebergBucket(partition_key [, number_of_buckets])
인자 (Arguments)
partition_key— 파티션 키.number_of_buckets— (선택) 버킷 수.
반환 값 (Returned value): 버킷 번호.
icebergDay (icebergDay)
날짜·시간 값을 Iceberg 파티션의 day(일) 값으로 변환해요.
구문 (Syntax)
icebergDay(value)
icebergHour (icebergHour)
날짜·시간 값을 Iceberg 파티션의 hour(시) 값으로 변환해요.
icebergMonth (icebergMonth)
날짜·시간 값을 Iceberg 파티션의 month(월) 값으로 변환해요.
icebergTruncate (icebergTruncate)
날짜·시간·숫자 값을 Iceberg 파티션 규칙으로 절사(truncate)해요.
icebergYear (icebergYear)
날짜·시간 값을 Iceberg 파티션의 year(년) 값으로 변환해요.
identity (identity)
인자로 주어진 값을 그대로 반환하는 함수예요.
구문 (Syntax)
identity(x)
인자 (Arguments)
x— 반환할 값.
반환 값 (Returned value): 주어진 값.
ignore (ignore)
인자를 완전히 무시하고 무조건 0을 반환하는 함수예요.
구문 (Syntax)
ignore(x)
인자 (Arguments)
x— 무시할 값.
반환 값 (Returned value): 항상 0.
예시 (Examples)
SELECT ignore(1);
0
indexHint (indexHint)
인덱스 힌트 함수예요. 조건 절과 함께 사용해 인덱스가 사용되도록 유도하면서도 조건이 무시되게 해요. 자세한 내용은 데이터 스킵 인덱스를 참고해요.
구문 (Syntax)
indexHint(expr)
인자 (Arguments)
expr— 인덱스 스킵에 사용할 조건.
반환 값 (Returned value): 항상 1(참).
initialQueryID (initialQueryID)
현재 쿼리의 초기(initial) query_id를 반환해요. 분산 쿼리의 조정자(coordinator)에서 시작된 쿼리 ID예요.
구문 (Syntax)
initialQueryID()
반환 값 (Returned value): 초기 쿼리 ID. String
initialQueryStartTime (initialQueryStartTime)
현재 쿼리의 초기(initial) 시작 시간을 반환해요.
구문 (Syntax)
initialQueryStartTime()
반환 값 (Returned value): 초기 쿼리 시작 시간. DateTime
initializeAggregation (initializeAggregation)
집계 함수에 대한 집계 초기 상태를 계산해요. aggregate_function 타입의 상태를 초기화하는 데 사용돼요.
구문 (Syntax)
initializeAggregation(agg_function, arg1, arg2, ...)
인자 (Arguments)
agg_function— 집계 함수.arg1, arg2, ...— 집계 함수로 전달되는 인자.
반환 값 (Returned value): 집계 함수의 초기 상태.
예시 (Examples)
SELECT finalizeAggregation(initializeAggregation(sum(3)));
┌─finalizeAggregation(initializeAggregation(sum(3)))─┐
│ 3 │
└────────────────────────────────────────────────────┘
isConstant (isConstant)
인자가 상수 표현식인지 여부를 반환해요. 스칼라 함수를 인자로 받을 수 있어요.
구문 (Syntax)
isConstant(expression)
인자 (Arguments)
expression— 검사할 표현식.
반환 값 (Returned value): 상수면 1, 아니면 0. UInt8
예시 (Examples)
SELECT isConstant(1 + 1);
┌─isConstant(1 + 1)─┐
│ 1 │
└────────────────────┘
isDecimalOverflow (isDecimalOverflow)
Decimal 값이 자릿수(scale) 범위를 벗어나는지 확인해요. 두 번째 인자가 1이면 특정 비트 수를 넘는지 확인해요.
구문 (Syntax)
isDecimalOverflow(d [, p])
인자 (Arguments)
d— Decimal 값.p— (선택) 비트 수.
반환 값 (Returned value): 오버플로면 1, 아니면 0.
예시 (Examples)
SELECT isDecimalOverflow(CAST('9999.5', 'Decimal(4,1)'));
0
joinGet (joinGet)
조인으로 생성된 데이터에서 지정된 조인 테이블의 특정 컬럼 값을 조회해요. 데이터는 ENGINE = Join으로 저장돼요.
구문 (Syntax)
joinGet(join_storage_table_name, `value_column`, join_keys)
인자 (Arguments)
join_storage_table_name— 조인 테이블 이름.value_column— 반환할 컬럼 이름.join_keys— 조인 키.
반환 값 (Returned value): 조인 키에 해당하는 값. 조인 테이블에 없으면 예외를 던져요.
joinGetOrNull (joinGetOrNull)
joinGet과 동일하지만, 지정된 키가 조인 테이블에 없으면 NULL을 반환해요.
구문 (Syntax)
joinGetOrNull(join_storage_table_name, `value_column`, join_keys)
반환 값 (Returned value): 조인값 또는 NULL.
lowCardinalityIndices (lowCardinalityIndices)
LowCardinality 컬럼의 인덱스(내부 사전 인덱스) 배열을 반환해요.
구문 (Syntax)
lowCardinalityIndices(x)
인자 (Arguments)
x— LowCardinality 컬럼.
반환 값 (Returned value): 인덱스 배열.
lowCardinalityKeys (lowCardinalityKeys)
LowCardinality 컬럼의 키(사전 값) 배열을 반환해요.
구문 (Syntax)
lowCardinalityKeys(x)
인자 (Arguments)
x— LowCardinality 컬럼.
반환 값 (Returned value): 키 배열.
materialize (materialize)
인자를 메모리에 상주(Materialized)하는 함수예요. ClickHouse에서 결과 블록은 기본적으로 열(colum) 단위로 생성되는데, 상수 열을 일반 열로 바꿔줘요.
구문 (Syntax)
materialize(x)
인자 (Arguments)
x— 값.
반환 값 (Returned value): 인자와 동일한 값.
minSampleSizeContinuous (minSampleSizeContinuous)
연속형(continuous) 변수의 표본 크기 추정에 사용돼요. 신뢰 수준(confidence), 오류(err)가 주어지면 최소 표본 크기를 계산해요.
구문 (Syntax)
minSampleSizeContinuous(baseline, sigma, mde, [conf_level], [power])
minSampleSizeConversion (minSampleSizeConversion)
전환율(conversion) 실험에서 표본 크기 추정에 사용돼요.
구문 (Syntax)
minSampleSizeConversion(baseline, mde, [conf_level], [power])
neighbor (neighbor)
주어진 오프셋만큼 앞뒤의 이웃 행의 값을 반환해요. 윈도우 함수처럼 동작하지만 실제 윈도우 함수는 아니에요.
구문 (Syntax)
neighbor(column, offset[, default_value])
인자 (Arguments)
column— 값을 가져올 컬럼.offset— 이웃 행 오프셋(음수면 앞, 양수면 뒤).default_value— (선택) 이웃이 없을 때 반환할 값.
반환 값 (Returned value): 지정된 오프셋 위치의 이웃 값.
normalizeQuery (normalizeQuery)
가독성을 위해 쿼리에서 리터럴(상수)을 자리표시자로 바꾼 문자열을 반환해요.
구문 (Syntax)
normalizeQuery(query)
인자 (Arguments)
query— SQL 쿼리 문자열.
반환 값 (Returned value): 정규화된 쿼리 문자열.
normalizeQueryKeepNames (normalizeQueryKeepNames)
normalizeQuery와 유사하지만, 일부 유형의 리터럴 값을 자리표시자로 바꾸지 않고 이름을 유지해요.
normalizedQueryHash (normalizedQueryHash)
지정된 쿼리 문자열의 정규화된 해시 값을 반환해요. 쿼리 리터럴을 일반화한 형태의 해시예요.
구문 (Syntax)
normalizedQueryHash(query)
normalizedQueryHashKeepNames (normalizedQueryHashKeepNames)
normalizedQueryHash와 유사하지만, 일부 리터럴 값을 일반화하지 않아요.
obfuscateQuery (obfuscateQuery)
쿼리의 리터럴을 의미 없는 랜덤 값으로 난독화한 문자열을 반환해요. 데이터 노출을 피하면서 쿼리 구조를 유지할 때 유용해요.
구문 (Syntax)
obfuscateQuery(query)
obfuscateQueryWithSeed (obfuscateQueryWithSeed)
시드(seed)를 지정해 난독화할 수 있는 함수예요. 같은 시드면 같은 결과를 반환해요.
구문 (Syntax)
obfuscateQueryWithSeed(query, seed)
parseISO8601Duration (parseISO8601Duration)
ISO 8601 기간(duration) 형식의 문자열을 시간(Interval)으로 파싱해요.
구문 (Syntax)
parseISO8601Duration(string)
parseQueryToJSON (parseQueryToJSON)
쿼리를 파싱한 결과를 JSON 객체로 반환해요.
구문 (Syntax)
parseQueryToJSON(query)
parseReadableSize (parseReadableSize)
바이트 크기의 읽기 쉬운 문자열을 숫자(바이트)로 파싱해요.
구문 (Syntax)
parseReadableSize(s)
인자 (Arguments)
s— 크기 문자열(예:1 KiB,2.5 MiB).
반환 값 (Returned value): 바이트 수. UInt64
parseReadableSizeOrNull (parseReadableSizeOrNull)
parseReadableSize와 동일하지만, 크기 문자열을 파싱할 수 없으면 NULL을 반환해요.
parseReadableSizeOrZero (parseReadableSizeOrZero)
parseReadableSize와 동일하지만, 파싱 실패 시 0을 반환해요.
parseTimeDelta (parseTimeDelta)
시간 델타 문자열을 분·초 단위로 파싱해요.
구문 (Syntax)
parseTimeDelta(timestr)
인자 (Arguments)
timestr— 시간 델타 문자열.
반환 값 (Returned value): 초 단위의 시간 델타.
partitionId (partitionId)
파티션 키 값의 파티션 ID를 계산해요.
구문 (Syntax)
partitionId(partition_key)
pgGetUserById (pgGetUserById)
PostgreSQL 호환 계정(인증)처럼 특정 사용자 ID에 해당하는 사용자 이름을 반환해요.
구문 (Syntax)
pgGetUserById(id)
pgTableIsVisible (pgTableIsVisible)
PostgreSQL 호환성 관련 함수로, 테이블이 사용자에게 보이는지 여부를 반환해요.
queryID (queryID)
현재 쿼리의 query_id를 반환해요.
구문 (Syntax)
queryID([query_level])
인자 (Arguments)
query_level— (선택) 쿼리 레벨(0 또는 1).
반환 값 (Returned value): 쿼리 ID. String
예시 (Examples)
SELECT queryID();
revision (revision)
ClickHouse 서버의 현재 revision을 반환해요.
구문 (Syntax)
revision()
반환 값 (Returned value): 서버 revision. UInt32
예시 (Examples)
SELECT revision();
rowNumberInAllBlocks (rowNumberInAllBlocks)
각 블록(데이터 스트림) 안에서의 행 번호를 반환해요. 행 번호가 블록 경계를 넘어 다시 시작돼요.
구문 (Syntax)
rowNumberInAllBlocks()
반환 값 (Returned value): 블록 안의 행 번호(0부터 시작). UInt64
예시 (Examples)
SELECT rowNumberInAllBlocks() FROM numbers(5);
┌─rowNumberInAllBlocks()─┐
│ 0 │
│ 1 │
│ 2 │
│ 3 │
│ 4 │
└─────────────────────────┘
rowNumberInBlock (rowNumberInBlock)
각 블록 안에서의 행 번호를 반환해요.
구문 (Syntax)
rowNumberInBlock()
반환 값 (Returned value): 블록 안의 행 번호(0부터 시작). UInt64
runningAccumulate (runningAccumulate)
집계 함수의 누적(중간 상태 기반) 결과를 반환해요. runningAccumulate를 활용하면 부분 집계가 가능해요.
구문 (Syntax)
runningAccumulate(agg_state)
인자 (Arguments)
agg_state— 집계 상태.
반환 값 (Returned value): 누적된 집계 결과.
runningConcurrency (runningConcurrency)
실행 중인 쿼리(이벤트)의 동시성(concurrency) 수준을 반환해요. 각 이벤트에 대한 이벤트 구간을 추적해요.
구문 (Syntax)
runningConcurrency()
반환 값 (Returned value): 동시성 수준.
runningDifference (runningDifference)
데이터 행의 연속된 값들의 차이를 계산해요. 첫 행은 항상 0이에요.
구문 (Syntax)
runningDifference(x)
인자 (Arguments)
x— 숫자 컬럼.
반환 값 (Returned value): 이전 행과의 차이 배열의 마지막 요소. UInt64
예시 (Examples)
SELECT runningDifference(x) FROM (SELECT arrayJoin([1,2,3,4,5]) AS x);
runningDifferenceStartingWithFirstValue (runningDifferenceStartingWithFirstValue)
runningDifference와 동일하지만, 첫 번째 값은 이전 행의 차이가 아니라 첫 행 그 자체를 반환해요.
구문 (Syntax)
runningDifferenceStartingWithFirstValue(x)
serverUUID (serverUUID)
서버의 UUID를 반환해요.
구문 (Syntax)
serverUUID()
반환 값 (Returned value): 서버 UUID. String
예시 (Examples)
SELECT serverUUID();
┌─serverUUID()───────────────────────────┐
│ e9a72363-0f10-45f2-a4e3-168964067ab8 │
└────────────────────────────────────────┘
shardCount (shardCount)
클러스터 설정에서 샤드(shard) 개수를 반환해요. 클러스터가 설정되지 않았으면 예외를 던져요.
구문 (Syntax)
shardCount()
반환 값 (Returned value): 샤드 개수. UInt32
예시 (Examples)
SELECT shardCount() FROM system.one;
shardNum (shardNum)
클러스터 설정에서 요청을 처리하는 서버의 shard 번호를 반환해요. shard는 1부터 시작해요. 클러스터가 설정되지 않았으면 예외를 던져요.
구문 (Syntax)
shardNum()
반환 값 (Returned value): 현재 shard 번호. UInt32
예시 (Examples)
SELECT shardNum() FROM system.one;
showCertificate (showCertificate)
서버의 TLS 인증서 정보를 반환해요.
구문 (Syntax)
showCertificate()
반환 값 (Returned value): 인증서 정보.
sleep (sleep)
몇 초 동안 지연시켜요. 각 데이터 블록마다 동작해요. 비동기(설정 allow_deprecated_syntax)로도 쓸 수 있어요.
구문 (Syntax)
sleep(seconds)
인자 (Arguments)
seconds— 지연할 초 수. UInt64 또는 Float64.
예시 (Examples)
SELECT sleep(1);
0
sleepEachRow (sleepEachRow)
각 데이터 행마다 지정된 초만큼 지연시켜요.
구문 (Syntax)
sleepEachRow(seconds)
인자 (Arguments)
seconds— 행마다 지연할 초 수.
예시 (Examples)
SELECT number, sleepEachRow(1) FROM numbers(3);
structureToCapnProtoSchema (structureToCapnProtoSchema)
ClickHouse 구조(구조 정의)를 Cap'n Proto 스키마 문자열로 변환해요.
구문 (Syntax)
structureToCapnProtoSchema(structure)
인자 (Arguments)
structure— 구조 정의 문자열.
structureToProtobufSchema (structureToProtobufSchema)
ClickHouse 구조를 Protobuf 스키마 문자열로 변환해요.
구문 (Syntax)
structureToProtobufSchema(structure)
tcpPort (tcpPort)
현재 연결의 TCP 포트 번호를 반환해요.
구문 (Syntax)
tcpPort()
반환 값 (Returned value): TCP 포트 번호. UInt16
예시 (Examples)
SELECT tcpPort();
┌─tcpPort()─┐
│ 9440 │
└───────────┘
throwIf (throwIf)
입력이 0이 아닐 때 예외를 발생시켜요. 사용자 정의 예외 메시지를 줄 수 있어요.
구문 (Syntax)
throwIf(x [, message])
인자 (Arguments)
x— 조건(0이 아닌 값이면 예외).message— (선택) 예외 메시지.
반환 값 (Returned value): 조건이 거짓이면 0을 반환. 조건이 참이면 예외 발생.
예시 (Examples)
SELECT throwIf(number = 3, 'Got the 3') FROM numbers(5);
toColumnTypeName (toColumnTypeName)
인자의 런타임 컬럼 타입 이름을 반환해요. Dynamic 컬럼에서 여러 타입이 섞인 경우 실제 타입을 알아내는 데 특히 유용해요.
구문 (Syntax)
toColumnTypeName(value)
인자 (Arguments)
value— 타입 이름을 확인할 값.
반환 값 (Returned value): 컬럼 타입 이름. String
예시 (Examples)
SELECT toColumnTypeName(number) FROM numbers(5);
┌─toColumnTypeName(number)─┐
│ UInt64 │
└──────────────────────────┘
toTypeName (toTypeName)
전달받은 인자의 타입 이름을 반환해요. 여러 타입이 혼합된 상황에서 값의 실제 타입을 확인하는 데 유용해요.
구문 (Syntax)
toTypeName(value)
인자 (Arguments)
value— 타입 이름을 확인할 값.
반환 값 (Returned value): 값의 타입 이름. String
예시 (Examples)
SELECT toTypeName([1, NULL]);
┌─toTypeName([1, NULL])─┐
│ Array(Nullable(UInt8))│
└───────────────────────┘
tokenizeQuery (tokenizeQuery)
지정된 쿼리 문자열을 토큰(token) 배열로 분리해요.
구문 (Syntax)
tokenizeQuery(query)
인자 (Arguments)
query— SQL 쿼리 문자열.
반환 값 (Returned value): 토큰 배열.
transactionID (transactionID)
현재 트랜잭션의 ID를 반환해요. 트랜잭션이 없으면 예외를 던져요.
구문 (Syntax)
transactionID()
반환 값 (Returned value): 트랜잭션 ID.
transactionLatestSnapshot (transactionLatestSnapshot)
현재 트랜잭션의 최신 스냅샷을 반환해요.
구문 (Syntax)
transactionLatestSnapshot()
transactionOldestSnapshot (transactionOldestSnapshot)
현재 트랜잭션의 가장 오래된 스냅샷을 반환해요.
구문 (Syntax)
transactionOldestSnapshot()
transform (transform)
정의된 일부 요소를 다른 요소로 변환해요. 결과 불일치(discrepancy)가 있는 일부 요소는 NULL을 반환해요.
구문 (Syntax)
transform(x, array_from, array_to[, default])
또는
transform(T x, T x_array, U y_array[, default])
인자 (Arguments)
x— 변환할 값.array_from— 변환할 출발 값 배열.array_to— 변환 결과 배열.default— (선택) 매칭되는 값이 없을 때 반환할 값.
반환 값 (Returned value): 변환된 값. 매칭이 없고 default가 없으면 NULL.
예시 (Examples)
SELECT transform(number, [1,3,5], [10,30,50], -1) FROM numbers(7);
┌─transform(number, [1, 3, 5], [10, 30, 50], -1)─┐
│ -1 │
│ 10 │
│ -1 │
│ 30 │
│ -1 │
│ 50 │
│ -1 │
└─────────────────────────────────────────────────┘
uniqThetaIntersect (uniqThetaIntersect)
두 Theta 스케치(theta sketch) 집합의 교집합 결과를 반환해요.
구문 (Syntax)
uniqThetaIntersect(sketch1, sketch2)
uniqThetaNot (uniqThetaNot)
두 Theta 스케치의 차집합(not) 결과를 반환해요.
uniqThetaUnion (uniqThetaUnion)
두 Theta 스케치의 합집합 결과를 반환해요.
uptime (uptime)
서버 시작 후 경과한 시간을 초 단위로 반환해요.
구문 (Syntax)
uptime()
반환 값 (Returned value): 경과 시간(초). UInt32
예시 (Examples)
SELECT uptime();
┌─uptime()─┐
│ 4823 │
└──────────┘
variantElement (variantElement)
Variant 타입 컬럼에서 지정된 타입의 요소를 반환해요. 요소가 다른 타입이면 기본값을 반환해요. Nullable 또는 종류가 다른 Variant 값이면 NULL을 반환해요.
구문 (Syntax)
variantElement(variant, type_name)
인자 (Arguments)
variant— Variant 컬럼 값.type_name— 추출할 타입 이름.
반환 값 (Returned value): 지정 타입의 요소 값.
예시 (Examples)
SELECT variantElement(v, 'UInt64') FROM (SELECT variant(1) AS v);
1
variantType (variantType)
Variant 값이 저장된 타입의 이름을 반환해요.
구문 (Syntax)
variantType(variant)
인자 (Arguments)
variant— Variant 값.
반환 값 (Returned value): 타입 이름 또는 NULL.
예시 (Examples)
SELECT variantType(v) FROM (SELECT variant(1) AS v);
UInt64
version (version)
ClickHouse 서버의 현재 버전을 반환해요.
구문 (Syntax)
version()
반환 값 (Returned value): 서버 버전. String
예시 (Examples)
SELECT version();
┌─version()────┐
│ 24.2.1.1 │
└──────────────┘
visibleWidth (visibleWidth)
텍스트로 출력(터미널) 시 특정 값이 차지하는 너비(숫자)를 반환해요.
구문 (Syntax)
visibleWidth(x)
인자 (Arguments)
x— 값.
반환 값 (Returned value): 화면 표시 폭.
zookeeperSessionUptime (zookeeperSessionUptime)
ZooKeeper 세션이 마지막으로 재연결된 후 경과한 시간을 초 단위로 반환해요.
구문 (Syntax)
zookeeperSessionUptime()
반환 값 (Returned value): 경과 시간(초). UInt32
예시 (Examples)
SELECT zookeeperSessionUptime();
┌─zookeeperSessionUptime()─┐
│ 2036 │
└───────────────────────────┘