데이터 형식 변환 함수
데이터 변환 시 일반적인 문제
ClickHouse는 일반적으로 C++ 프로그램과 동일한 동작 방식을 사용합니다.
to<type> 함수와 cast는 일부 상황에서, 예를 들어 LowCardinality의 경우 서로 다르게 동작합니다. cast는 LowCardinality 특성을 제거하지만 to<type> 함수는 제거하지 않습니다. Nullable에 대해서도 마찬가지이며, 이 동작은 SQL 표준과 호환되지 않습니다. 이 동작은 cast_keep_nullable 설정을 사용하여 변경할 수 있습니다.
데이터 타입의 값을 더 작은 데이터 타입(예: Int64에서 Int32로)으로 변환하거나, 서로 호환되지 않는 데이터 타입(예: String에서 Int로) 간에 변환하는 경우 데이터 손실이 발생할 수 있습니다. 결과가 기대한 대로인지 반드시 주의 깊게 확인하십시오.
예:
toString 함수에 대한 참고 사항
toString 계열 함수는 숫자, 문자열(고정 길이 문자열은 제외), 날짜, 시간 정보를 포함한 날짜 사이를 서로 변환할 수 있게 합니다.
이 모든 함수는 하나의 인자를 받습니다.
- 문자열로 변환하거나 문자열에서 다른 타입으로 변환할 때, 값은 TabSeparated 형식(및 거의 모든 다른 텍스트 형식)과 동일한 규칙을 사용해 형식화되거나 해석됩니다. 문자열을 해석할 수 없으면 예외가 발생하고 요청이 취소됩니다.
- 날짜를 숫자로 또는 그 반대로 변환할 때, 날짜는 유닉스 에포크(Unix epoch) 시작 시점부터 경과한 일(day) 수에 해당합니다.
- 시간 정보를 포함한 날짜를 숫자로 또는 그 반대로 변환할 때, 시간 정보를 포함한 날짜는 유닉스 에포크 시작 시점부터 경과한 초(second) 수에 해당합니다.
DateTime인자를 갖는toString함수는 시간대 이름을 포함하는 두 번째 String 인자를 받을 수 있습니다(예:Europe/Amsterdam). 이 경우 시간은 지정된 시간대에 따라 형식화됩니다.
toDate/toDateTime 함수에 대한 참고 사항
toDate/toDateTime 함수에 사용되는 날짜 및 날짜-시간 형식은 다음과 같이 정의됩니다.
예외적으로 UInt32, Int32, UInt64, Int64 숫자 타입에서 Date로 변환할 때, 값이 65536 이상이면 이 값을 일 수가 아닌 Unix 타임스탬프로 해석하여 해당 날짜로 반올림합니다.
이는 그렇지 않으면 오류가 발생하는 일반적인 패턴인 toDate(unix_timestamp) 호출을 지원하기 위한 것으로, 원래라면 더 번거로운 toDate(toDateTime(unix_timestamp))를 작성해야 합니다.
날짜 타입과 시간 정보를 포함한 날짜·시간 타입 간의 변환은 자연스럽게 수행됩니다. 즉, 시간 값을 0시(자정)으로 추가하거나 시간 정보를 제거합니다.
숫자 타입 간의 변환은 C++에서 서로 다른 숫자 타입 간의 대입과 동일한 규칙을 사용합니다.
예시
쿼리:
결과:
toUnixTimestamp 함수도 함께 참고하십시오.
CAST
도입 버전: v1.1.0
지정된 데이터 타입으로 값을 변환합니다.
reinterpret 함수와 달리 CAST는 대상 타입에서 동일한 값을 생성하려고 시도합니다.
이때 변환이 불가능하면 예외가 발생합니다.
구문
인수
반환 값
대상 데이터 타입으로 변환된 값을 반환합니다. Any
예시
기본 사용법
AS 구문 사용하기
:: 구문 사용
DATE
도입 버전: v21.2.0
인수를 Date 데이터 타입으로 변환합니다. MySQL 호환성을 위한 toDate의 별칭으로, toDate와 동일하게 동작합니다.
구문
인수
반환 값
Date 값을 반환합니다. Date
예시
기본 사용법
accurateCast
도입 버전: v1.1.0
값을 지정된 데이터 타입으로 변환합니다. CAST와 달리 accurateCast는 더 엄격한 타입 검사를 수행하며, 변환으로 인해 데이터 정밀도가 손실되거나 변환이 불가능한 경우 예외를 발생시킵니다.
이 함수는 정밀도 손실과 잘못된 변환을 방지하므로 일반적인 CAST보다 더 안전합니다.
구문
인자
반환값
대상 데이터 타입으로 변환된 값을 반환합니다. Any
예제
성공적인 변환
문자열을 숫자로 변환
accurateCastOrDefault
도입 버전: v21.1.0
값을 지정된 데이터 타입으로 변환합니다.
accurateCast와 유사하지만, 변환을 정확하게 수행할 수 없는 경우 예외를 발생시키는 대신 기본값을 반환합니다.
두 번째 인수로 기본값을 전달하는 경우, 이 값은 대상 타입과 동일한 타입이어야 합니다. 기본값을 전달하지 않으면 대상 타입의 기본값이 사용됩니다.
구문
인자
x— 변환할 값입니다.AnyT— 대상 데이터 타입 이름입니다.const Stringdefault_value— 선택적입니다. 변환에 실패했을 때 반환할 기본값입니다.Any
반환값
대상 데이터 타입으로 변환된 값 또는 변환이 불가능한 경우 기본값을 반환합니다. Any
예제
성공적인 변환
명시적 기본값을 사용하는 변환 실패
암시적 기본값을 사용하는 변환 실패
accurateCastOrNull
도입 버전: v1.1.0
값을 지정한 데이터 타입으로 변환합니다.
accurateCast와 유사하지만, 변환을 정확하게 수행할 수 없는 경우 예외를 발생시키는 대신 NULL을 반환합니다.
이 함수는 accurateCast의 안전성과 우아한 오류 처리를 결합합니다.
문법
인수
반환값
대상 데이터 타입으로의 변환에 성공하면 변환된 값을, 변환이 불가능하면 NULL을 반환합니다. Any
예시
변환 성공
변환 실패 시 NULL을 반환합니다
formatRow
도입 버전: v20.7.0
임의의 표현식을 지정된 형식을 사용해 문자열로 변환합니다.
형식에 접미사/접두사가 포함되어 있으면 각 행마다 출력됩니다. 이 함수에서는 행 기반 형식만 지원합니다.
구문
인수
반환 값
서식화된 문자열입니다(텍스트 형식의 경우 보통 줄 바꿈 문자로 끝납니다). String
예시
기본 사용법
사용자 정의 포맷 사용
formatRowNoNewline
도입된 버전: v20.7.0
formatRow와 동일하지만, 각 행의 줄 바꿈 문자를 제거합니다.
임의의 표현식을 지정된 포맷을 사용해 문자열로 변환하되, 결과 끝에 있는 줄 바꿈 문자를 모두 제거합니다.
구문
인수
반환 값
개행 문자가 제거된 서식화된 문자열을 반환합니다. String
예제
기본 사용
fromUnixTimestamp64Micro
도입된 버전: v20.5.0
마이크로초 단위 Unix 타임스탬프를 마이크로초 정밀도의 DateTime64 값으로 변환합니다.
입력값은 1970-01-01 00:00:00 UTC 이후 경과한 마이크로초 수를 나타내는 마이크로초 정밀도의 Unix 타임스탬프로 처리됩니다.
Syntax
인수(Arguments)
반환 값(Returned value)
마이크로초 정밀도의 DateTime64 값을 반환합니다. DateTime64(6)
예제(Examples)
사용 예제(Usage example)
fromUnixTimestamp64Milli
도입 버전: v20.5.0
밀리초 단위의 Unix 타임스탬프를 밀리초 정밀도의 DateTime64 값으로 변환합니다.
입력 값은 밀리초 정밀도의 Unix 타임스탬프(1970-01-01 00:00:00 UTC 이후 경과한 밀리초 수)로 간주됩니다.
구문
인수
반환 값
밀리초 단위까지의 정밀도를 가지는 DateTime64 값. DateTime64(3)
예시
사용 예시
fromUnixTimestamp64Nano
도입된 버전: v20.5.0
나노초 단위 Unix 타임스탬프를 나노초 정밀도의 DateTime64 값으로 변환합니다.
입력 값은 1970-01-01 00:00:00 UTC 이후 경과한 나노초 수인 나노초 정밀도의 Unix 타임스탬프로 처리됩니다.
입력 값은 해당 값의 타임존이 아니라 UTC 타임스탬프로 처리된다는 점에 유의하십시오.
구문
인자
반환 값
나노초 정밀도의 DateTime64 값을 반환합니다. DateTime64(9)
예시
사용 예시
fromUnixTimestamp64Second
도입된 버전: v24.12.0
초 단위 Unix 타임스탬프를 초 정밀도의 DateTime64 값으로 변환합니다.
입력 값은 1970-01-01 00:00:00 UTC 이후 경과한 초 수를 나타내는 초 단위 Unix 타임스탬프로 간주됩니다.
구문
인수
반환 값
초 단위 정밀도의 DateTime64 값을 반환합니다. DateTime64(0)
예시
사용 예시
parseDateTime
도입 버전: v23.3.0
MySQL 날짜 형식 문자열에 따라 날짜와 시간 문자열을 파싱합니다.
이 FUNCTION은 formatDateTime의 역함수입니다.
형식 String을 사용하여 String 인자를 파싱합니다. 반환 타입은 DateTime입니다.
구문
별칭(Aliases): TO_UNIXTIME
인수(Arguments)
time_string—DateTime으로 변환할 문자열입니다.Stringformat—time_string을 어떻게 파싱할지 지정하는 형식 문자열입니다.Stringtimezone— 선택 사항입니다. 타임존을 나타내는 문자열입니다.String
반환 값(Returned value)
MySQL 스타일 형식 문자열에 따라 입력 문자열에서 파싱한 DateTime 값을 반환합니다. DateTime
예시(Examples)
사용 예시(Usage example)
parseDateTime32BestEffort
도입 버전: v20.9.0
날짜와 시간의 문자열 표현을 DateTime 데이터 타입으로 변환합니다.
이 FUNCTION은 ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, ClickHouse에서 사용하는 형식 및 기타 여러 날짜와 시간 형식을 파싱합니다.
구문
인자
time_string— 변환할 날짜와 시간을 포함하는 문자열입니다.Stringtime_zone— 선택 사항입니다.time_string을 파싱할 때 기준이 되는 시간대입니다.String
반환 값
time_string을 DateTime 타입으로 변환하여 반환합니다. DateTime
예시
사용 예시
타임존 포함
유닉스 타임스탬프
parseDateTime32BestEffortOrNull
도입: v20.9.0
처리할 수 없는 날짜 형식을 만나면 NULL을 반환한다는 점을 제외하면 parseDateTime32BestEffort와 동일합니다.
구문
인수
time_string— 변환할 날짜와 시간이 포함된 문자열입니다.Stringtime_zone— 선택 사항입니다.time_string을 해석할 때 기준이 되는 시간대입니다.String
반환 값
문자열에서 파싱한 DateTime 객체를 반환하며, 파싱에 실패하면 NULL을 반환합니다. DateTime
예시
사용 예시
parseDateTime32BestEffortOrZero
도입된 버전: v20.9.0
parseDateTime32BestEffort와 동일하지만, 처리할 수 없는 날짜 형식을 만나면 0값의 날짜 또는 날짜-시간 값을 반환합니다.
구문
인수(Arguments)
time_string— 변환할 날짜와 시간이 포함된 문자열입니다.Stringtime_zone— 선택 사항입니다.time_string을 파싱할 때 기준이 되는 시간대를 나타내는 문자열입니다.String
반환 값(Returned value)
문자열을 파싱하여 얻은 DateTime 객체를 반환하며, 파싱에 실패하면 zero date인 1970-01-01 00:00:00을 반환합니다. DateTime
예시(Examples)
사용 예시(Usage example)
parseDateTime64
도입 버전: v24.11.0
MySQL 날짜 형식 문자열에 따라, 초 단위 이하 정밀도를 포함한 날짜 및 시간 문자열을 파싱합니다.
이 함수는 DateTime64에 대해 formatDateTime의 역함수입니다.
형식 문자열을 사용하여 String 인자를 파싱합니다. 1900년부터 2299년까지의 날짜를 초 단위 이하의 정밀도로 표현할 수 있는 DateTime64 타입을 반환합니다.
구문
인수
time_string—DateTime64로 파싱할 문자열입니다.Stringformat—time_string을 파싱하는 방법을 지정하는 형식 문자열입니다.Stringtimezone— 선택 사항입니다. 타임존입니다.String
반환 값
입력 문자열을 MySQL 스타일 형식 문자열에 따라 파싱하여 얻은 DateTime64 값을 반환합니다. DateTime64
예시
사용 예시
parseDateTime64BestEffort
도입 버전: v20.1.0
parseDateTimeBestEffort 함수와 동일하지만 밀리초 및 마이크로초까지 파싱하며 DateTime64 데이터 타입을 반환합니다.
구문
인수
time_string— 변환할 날짜 또는 날짜와 시간이 포함된 문자열입니다.Stringprecision— 선택 사항입니다. 필요한 정밀도입니다. 밀리초는3, 마이크로초는6입니다. 기본값:3.UInt8time_zone— 선택 사항입니다. 시간대입니다. 함수는time_string을 해당 시간대에 따라 파싱합니다.String
반환 값
DateTime64 데이터 타입으로 변환된 time_string을 반환합니다. DateTime64
예제
사용 예제
parseDateTime64BestEffortOrNull
도입된 버전: v20.1.0
parseDateTime64BestEffort와 동일하지만 처리할 수 없는 날짜 형식을 만나면 NULL을 반환합니다.
구문
인자
time_string— 변환할 날짜 또는 날짜와 시간 정보를 포함하는 문자열입니다.Stringprecision— 선택 사항입니다. 요구되는 정밀도입니다. 밀리초는3, 마이크로초는6입니다. 기본값:3.UInt8time_zone— 선택 사항입니다. 시간대입니다. 함수는time_string을 해당 시간대에 따라 해석합니다.String
반환 값
time_string을 DateTime64 형식으로 변환한 값을 반환하며, 입력을 해석할 수 없으면 NULL을 반환합니다. DateTime64 또는 NULL
예시
사용 예시
parseDateTime64BestEffortOrZero
도입 버전: v20.1.0
parseDateTime64BestEffort와 동일하지만, 처리할 수 없는 날짜 형식을 만나면 0 날짜 또는 0 날짜-시간 값을 반환합니다.
구문
인수
time_string— 변환할 날짜 또는 날짜와 시간이 포함된 문자열입니다.Stringprecision— 선택적 인수입니다. 필요한 정밀도를 나타냅니다. 밀리초는3, 마이크로초는6입니다. 기본값:3.UInt8time_zone— 선택적 인수입니다. 시간대를 나타냅니다. 함수는 이 시간대를 기준으로time_string을 해석합니다.String
반환 값
time_string을 DateTime64로 변환한 값을 반환하며, 입력을 해석할 수 없는 경우 zero date/datetime 값인 1970-01-01 00:00:00.000을 반환합니다. DateTime64
예시
사용 예시
parseDateTime64BestEffortUS
도입 버전: v22.8.0
parseDateTime64BestEffort와 동일하지만, 모호한 경우 이 함수는 미국식 날짜 형식(MM/DD/YYYY 등)을 우선적으로 사용합니다.
구문
인수
time_string— 변환할 날짜 또는 날짜와 시간이 포함된 문자열입니다.Stringprecision— 선택 사항입니다. 필요한 정밀도입니다. 밀리초는3, 마이크로초는6입니다. 기본값:3.UInt8time_zone— 선택 사항입니다. 시간대입니다. 함수는 이 시간대에 따라time_string을 파싱합니다.String
반환 값
모호한 경우에는 미국식 날짜 형식 규칙을 사용하여, time_string을 DateTime64 타입으로 변환한 값을 반환합니다. DateTime64
예시
사용 예시
parseDateTime64BestEffortUSOrNull
도입 버전: v22.8.0
parseDateTime64BestEffort와 동일하지만, 모호한 경우 미국식 날짜 형식(MM/DD/YYYY 등)을 우선적으로 사용하며, 처리할 수 없는 날짜 형식을 만나면 NULL을 반환합니다.
구문
인수
time_string— 변환할 날짜 또는 날짜와 시간이 포함된 문자열입니다.Stringprecision— 선택 사항입니다. 필요한 정밀도를 지정합니다. 밀리초는3, 마이크로초는6입니다. 기본값:3.UInt8time_zone— 선택 사항입니다. 시간대를 지정합니다. 함수는 지정된 시간대를 기준으로time_string을 파싱합니다.String
반환 값
미국식 형식을 우선 적용하여 time_string을 DateTime64로 변환한 값을 반환하며, 입력을 파싱할 수 없는 경우 NULL을 반환합니다. DateTime64 또는 NULL
예시
사용 예시
parseDateTime64BestEffortUSOrZero
도입 버전: v22.8.0
parseDateTime64BestEffort와 동일하지만, 모호한 경우에는 US 날짜 형식(MM/DD/YYYY 등)을 우선적으로 사용하며, 처리할 수 없는 날짜 형식을 만나면 zero date 또는 zero date time을 반환합니다.
구문
인수
time_string— 변환할 날짜 또는 날짜와 시간이 포함된 문자열입니다.Stringprecision— 선택 사항입니다. 요구되는 정밀도입니다. 밀리초는3, 마이크로초는6입니다. 기본값:3.UInt8time_zone— 선택 사항입니다. 타임존을 나타냅니다. 함수는 해당 타임존에 따라time_string을 파싱합니다.String
반환 값
미국식 날짜/시간 형식을 기준으로 DateTime64로 변환된 time_string을 반환하며, 입력을 파싱할 수 없는 경우 0 값의 날짜/날짜-시간 (1970-01-01 00:00:00.000)을 반환합니다. DateTime64
예시
사용 예시
parseDateTime64InJodaSyntax
도입 버전: v24.10.0
Joda 날짜 형식 문자열을 사용하여 초 단위 이하 정밀도를 포함한 날짜와 시간 문자열을 파싱합니다.
이 FUNCTION은 DateTime64에 대해 formatDateTimeInJodaSyntax의 역함수입니다.
Joda 스타일의 형식 String을 사용하여 String 인자를 파싱합니다. 1900년부터 2299년까지의 날짜를 초 단위 이하 정밀도로 표현할 수 있는 DateTime64 타입을 반환합니다.
형식 패턴에 대해서는 Joda Time 문서를 참고하십시오.
구문
인수
time_string—DateTime64로 파싱할 문자열입니다.Stringformat—time_string을 어떻게 파싱할지 지정하는 Joda 구문을 사용하는 형식 문자열입니다.Stringtimezone— 선택 사항입니다. 타임존입니다.String
반환 값
입력 문자열을 Joda 스타일 형식 문자열에 따라 파싱한 DateTime64를 반환합니다. DateTime64
예시
사용 예시
parseDateTime64InJodaSyntaxOrNull
도입된 버전: v24.10.0
parseDateTime64InJodaSyntax와 동일하지만, 파싱할 수 없는 날짜 형식을 만나면 NULL을 반환합니다.
구문
인수
time_string— DateTime64로 파싱할 문자열입니다.Stringformat—time_string을 어떻게 파싱할지 지정하는 Joda 구문 형식 문자열입니다.Stringtimezone— 선택 사항. 시간대입니다.String
반환 값
입력 문자열을 DateTime64로 파싱한 값을 반환하며, 파싱에 실패하면 NULL을 반환합니다. Nullable(DateTime64)
예시
사용 예시
parseDateTime64InJodaSyntaxOrZero
도입 버전: v24.10.0
parseDateTime64InJodaSyntax와 동일하지만, 해석할 수 없는 날짜 형식을 만나면 0 날짜 값을 반환합니다.
구문
인자
time_string—DateTime64로 파싱할 문자열입니다.Stringformat—time_string을 어떻게 파싱할지 지정하는 Joda 구문 형식의 문자열입니다.Stringtimezone— 선택 사항입니다. 타임존을 지정합니다.String
반환 값
입력 문자열에서 파싱된 DateTime64를 반환하며, 파싱에 실패하면 0을 나타내는 DateTime64 값을 반환합니다. DateTime64
예시
사용 예시
parseDateTime64OrNull
도입된 버전: v24.11.0
parseDateTime64와 동일하지만, 파싱할 수 없는 날짜 형식을 만나면 NULL을 반환합니다.
구문
인자
time_string—DateTime64로 파싱할 문자열입니다.Stringformat—time_string을 어떻게 파싱할지 지정하는 포맷 문자열입니다.Stringtimezone— 선택 사항. 시간대입니다.String
반환값
입력 문자열을 파싱한 DateTime64 값을 반환하며, 파싱에 실패하면 NULL을 반환합니다. Nullable(DateTime64)
예시
사용 예시
parseDateTime64OrZero
도입 버전: v24.11.0
parseDateTime64와 동일하지만, 파싱할 수 없는 날짜 형식을 만나면 zero date(0 날짜)를 반환합니다.
구문
인수
time_string—DateTime64로 파싱할 문자열입니다.Stringformat—time_string을 파싱하는 형식을 지정하는 포맷 문자열입니다.Stringtimezone— 선택 사항인 타임존입니다.String
반환 값
입력 문자열에서 파싱된 DateTime64를 반환하며, 파싱에 실패하면 0으로 초기화된 DateTime64를 반환합니다. DateTime64
예시
사용 예시
parseDateTimeBestEffort
도입 버전: v1.1.0
String 표현의 날짜와 시간을 DateTime 데이터 타입으로 변환합니다.
이 함수는 ISO 8601, RFC 1123 - 5.2.14 RFC-822 날짜 및 시간 사양, ClickHouse 고유 형식 및 그 외 일부 날짜와 시간 형식을 파싱합니다.
지원되는 비표준 형식:
- 9~10자리 Unix 타임스탬프를 포함하는 문자열
- 날짜와 시간 구성 요소를 포함하는 문자열:
YYYYMMDDhhmmss,DD/MM/YYYY hh:mm:ss,DD-MM-YY hh:mm,YYYY-MM-DD hh:mm:ss등 - 날짜는 있으나 시간 구성 요소가 없는 문자열:
YYYY,YYYYMM,YYYY*MM,DD/MM/YYYY,DD-MM-YY등 - 일(day)과 시간만 있는 문자열:
DD,DD hh,DD hh:mm. 이 경우MM은01로 대체됩니다. - 날짜와 시간에 더해 시간대 오프셋 정보를 포함하는 문자열:
YYYY-MM-DD hh:mm:ss ±h:mm등 - syslog 타임스탬프:
Mmm dd hh:mm:ss. 예:Jun 9 14:20:32
구분자가 있는 모든 형식에 대해서 이 함수는 월 이름이 전체 이름으로 표현된 경우와 월 이름의 첫 세 글자로 표현된 경우를 모두 파싱합니다. 연도가 지정되지 않은 경우 현재 연도와 동일한 값으로 간주합니다.
구문
인수
time_string— 변환할 날짜와 시간이 포함된 문자열입니다.Stringtime_zone— 선택적인 인수입니다.time_string을 파싱할 때 기준이 되는 시간대입니다.String
반환 값
time_string을 DateTime으로 변환한 값을 반환합니다. DateTime
예시
사용 예시
시간대 지정
유닉스 타임스탬프
parseDateTimeBestEffortOrNull
도입된 버전: v1.1.0
parseDateTimeBestEffort와 동일하지만, 처리할 수 없는 날짜 형식을 만나면 NULL을 반환합니다.
이 함수는 ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, ClickHouse 고유 형식 및 기타 일부 날짜와 시간 형식을 파싱합니다.
지원되는 비표준 형식:
- 9~10자리 유닉스(unix) 타임스탬프를 포함하는 문자열.
- 날짜와 시간 구성 요소를 포함하는 문자열:
YYYYMMDDhhmmss,DD/MM/YYYY hh:mm:ss,DD-MM-YY hh:mm,YYYY-MM-DD hh:mm:ss등. - 날짜만 있고 시간 구성 요소가 없는 문자열:
YYYY,YYYYMM,YYYY*MM,DD/MM/YYYY,DD-MM-YY등. - 일(day)과 시간만 포함하는 문자열:
DD,DD hh,DD hh:mm. 이 경우MM은01로 대체됩니다. - 날짜와 시간에 더해 시간대 오프셋 정보를 포함하는 문자열:
YYYY-MM-DD hh:mm:ss ±h:mm등. - syslog 타임스탬프:
Mmm dd hh:mm:ss. 예:Jun 9 14:20:32.
구분자가 있는 모든 형식의 경우, 이 함수는 월 이름을 전체 이름이나 월 이름의 앞 세 글자로 표현한 경우를 모두 파싱합니다. 연도가 지정되지 않은 경우 현재 연도로 간주합니다.
구문
인수
time_string— 변환할 날짜와 시간이 포함된 문자열입니다.Stringtime_zone— 선택 사항입니다.time_string을 파싱할 때 사용할 시간대입니다.String
반환 값
time_string을 DateTime으로 변환한 값을 반환하며, 입력 값을 파싱할 수 없는 경우 NULL을 반환합니다. DateTime 또는 NULL
예시
사용 예시
parseDateTimeBestEffortOrZero
도입 버전: v1.1.0
parseDateTimeBestEffort와 동일하지만, 처리할 수 없는 날짜 형식을 만나면 0 날짜 또는 0 날짜-시간 값을 반환합니다.
이 함수는 ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, ClickHouse 고유 형식 및 기타 일부 날짜와 시간 형식을 해석합니다.
지원되는 비표준 형식:
- 9~10자리 유닉스 타임스탬프를 포함하는 문자열.
- 날짜와 시간 구성 요소를 포함하는 문자열:
YYYYMMDDhhmmss,DD/MM/YYYY hh:mm:ss,DD-MM-YY hh:mm,YYYY-MM-DD hh:mm:ss등. - 날짜는 있지만 시간 구성 요소가 없는 문자열:
YYYY,YYYYMM,YYYY*MM,DD/MM/YYYY,DD-MM-YY등. - 일(day)과 시간만 있는 문자열:
DD,DD hh,DD hh:mm. 이 경우MM값은01로 대체됩니다. - 날짜와 시간에 더해 시간대 오프셋 정보가 포함된 문자열:
YYYY-MM-DD hh:mm:ss ±h:mm등. - syslog 타임스탬프:
Mmm dd hh:mm:ss. 예:Jun 9 14:20:32.
구분자가 있는 모든 형식에 대해, 이 함수는 월 이름을 전체 이름 또는 월 이름의 앞 세 글자로 표기한 경우 모두 해석합니다. 연도가 지정되지 않은 경우 현재 연도로 간주합니다.
구문
인자
time_string— 변환할 날짜와 시간이 포함된 문자열입니다.Stringtime_zone— 선택적입니다.time_string을 파싱할 때 기준이 되는 시간대입니다.String
반환 값
time_string을 DateTime으로 반환하거나, 입력을 파싱할 수 없는 경우 0값 날짜/날짜시간 값(1970-01-01 또는 1970-01-01 00:00:00)을 반환합니다. DateTime
예시
사용 예시
parseDateTimeBestEffortUS
도입 버전: v1.1.0
이 함수는 ISO 날짜 형식(예: YYYY-MM-DD hh:mm:ss)과 월(month)과 일(day) 구성 요소를 모호하지 않게 추출할 수 있는 다른 날짜 형식(예: YYYYMMDDhhmmss, YYYY-MM, DD hh, YYYY-MM-DD hh:mm:ss ±h:mm)에 대해서는 parseDateTimeBestEffort와 동일하게 동작합니다.
월과 일(day) 구성 요소를 모호하지 않게 추출할 수 없는 경우(예: MM/DD/YYYY, MM-DD-YYYY, MM-DD-YY)에는 DD/MM/YYYY, DD-MM-YYYY, DD-MM-YY 대신 미국식 날짜 형식을 우선적으로 사용합니다.
단, 앞의 설명에 대한 예외로 월(month) 값이 12보다 크고 31 이하인 경우에는 parseDateTimeBestEffort의 동작으로 돌아가며, 예를 들어 15/08/2020은 2020-08-15로 파싱됩니다.
Syntax
인수
time_string— 변환할 날짜와 시간이 포함된 문자열입니다.Stringtime_zone— 선택 사항입니다.time_string을 파싱할 때 사용할 시간대입니다.String
반환 값
모호한 경우 미국식 날짜 형식 선호 규칙을 사용하여 time_string을 DateTime으로 반환합니다. DateTime
예시
사용 예시
parseDateTimeBestEffortUSOrNull
도입된 버전: v1.1.0
parseDateTimeBestEffortUS FUNCTION과 동일하지만, 처리할 수 없는 날짜 형식을 만나면 NULL을 반환합니다.
이 FUNCTION은 ISO 날짜 형식에 대해서는 parseDateTimeBestEffort와 동일하게 동작하지만, 모호한 경우에는 미국식 날짜 형식을 우선 사용하며, 파싱 오류 시 NULL을 반환합니다.
구문
인수
time_string— 변환할 날짜와 시간이 포함된 문자열입니다.Stringtime_zone— 선택 사항입니다.time_string을 파싱할 때 기준이 되는 시간대입니다.String
반환 값
미국식 형식을 우선적으로 사용하여 time_string을 DateTime으로 반환하거나, 입력을 파싱할 수 없는 경우 NULL을 반환합니다. DateTime 또는 NULL
예시
사용 예시
parseDateTimeBestEffortUSOrZero
도입 버전: v1.1.0
parseDateTimeBestEffortUS 함수와 동일하지만, 처리할 수 없는 날짜 형식을 만나면 제로 날짜(zero date)인 1970-01-01 또는 시간 정보가 포함된 제로 날짜 1970-01-01 00:00:00를 반환합니다.
이 함수는 ISO 날짜 형식에 대해서는 parseDateTimeBestEffort와 동일하게 동작하지만, 애매한 경우에는 미국식 날짜 형식을 우선 사용하며, 파싱 오류가 발생하면 0 값을 반환합니다.
구문
인수
time_string— 변환할 날짜와 시간이 포함된 문자열입니다.Stringtime_zone— 선택 사항입니다.time_string을 파싱할 때 사용할 시간대입니다.String
반환 값
미국 형식 우선 규칙을 사용하여 time_string을 DateTime으로 반환하며, 입력을 파싱할 수 없는 경우 영(0) 날짜/시간 값( 1970-01-01 또는 1970-01-01 00:00:00 )을 반환합니다. DateTime
예시
사용 예시
parseDateTimeInJodaSyntax
도입된 버전: v23.3.0
Joda 날짜 형식 문자열에 따라 날짜와 시간 문자열을 파싱합니다.
이 함수는 formatDateTimeInJodaSyntax의 역연산입니다.
Joda 스타일의 형식 지정용 String을 사용하여 String 인수를 파싱합니다. DateTime 타입의 값을 반환합니다.
형식 패턴은 Joda Time 문서를 참고하십시오.
구문
인수
time_string—DateTime으로 파싱할 문자열입니다.Stringformat—time_string을 파싱하는 방법을 지정하는 Joda 문법의 형식 문자열입니다.Stringtimezone— 선택 사항입니다. 타임존입니다.String
반환 값
Joda 스타일 형식 문자열에 따라 입력 문자열을 파싱해 생성된 DateTime을 반환합니다. DateTime
예시
사용 예시
parseDateTimeInJodaSyntaxOrNull
도입: v23.3.0
parseDateTimeInJodaSyntax와 동일하지만, 파싱할 수 없는 날짜 형식을 만나면 NULL을 반환합니다.
구문
인수
time_string—DateTime으로 파싱할 문자열입니다.Stringformat—time_string을 어떻게 파싱할지 지정하는 Joda 문법의 포맷 문자열입니다.Stringtimezone— 선택 사항. 타임존입니다.String
반환 값
입력 문자열을 DateTime으로 파싱한 값을 반환하며, 파싱에 실패하면 NULL을 반환합니다. Nullable(DateTime)
예시
사용 예시
parseDateTimeInJodaSyntaxOrZero
도입 버전: v23.3.0
parseDateTimeInJodaSyntax와 동일하지만, 해석할 수 없는 날짜 형식을 만나면 0인 날짜 값을 반환합니다.
구문
인수
time_string—DateTime으로 파싱할 문자열입니다.Stringformat—time_string을 어떻게 파싱할지 지정하는 Joda 구문의 포맷 문자열입니다.Stringtimezone— 선택 사항입니다. 시간대입니다.String
반환 값
입력 문자열에서 파싱한 DateTime을 반환하며, 파싱에 실패하면 값이 0인 DateTime을 반환합니다. DateTime
예시
사용 예시
parseDateTimeOrNull
도입된 버전: v23.3.0
parseDateTime와 동일하지만, 구문 분석할 수 없는 날짜 형식을 만나면 NULL을 반환합니다.
구문
별칭: str_to_date
인수
time_string—DateTime으로 파싱할 문자열입니다.Stringformat—time_string을 어떤 형식으로 파싱할지 지정하는 포맷 문자열입니다.Stringtimezone— 선택 사항입니다. 타임존입니다.String
반환 값
입력 문자열을 파싱한 DateTime을 반환하며, 파싱에 실패하면 NULL을 반환합니다. Nullable(DateTime)
예시
사용 예시
parseDateTimeOrZero
도입 버전: v23.3.0
parseDateTime와 동일하지만, 해석할 수 없는 날짜 형식을 만나면 0값의 날짜를 반환합니다.
구문
인수
time_string—DateTime으로 파싱할 문자열입니다.Stringformat—time_string을 파싱하는 방식을 지정하는 포맷 문자열입니다.Stringtimezone— 선택 사항입니다. 타임존입니다.String
반환 값
입력 문자열에서 파싱한 DateTime을 반환하며, 파싱에 실패하면 0 DateTime 값을 반환합니다. DateTime
예시
사용 예시
reinterpret
도입: v1.1.0
제공된 값 x에 대해 메모리 상의 동일한 바이트 시퀀스를 사용하여 대상 타입으로 재해석합니다.
구문
인수
반환 값
변환 대상 타입의 값. Any
예시
사용 예시
배열 예시
reinterpretAsDate
도입 버전: v1.1.0
입력 값을 리틀 엔디언 순서를 가정하여, Unix epoch인 1970-01-01 이후 경과한 일 수를 나타내는 Date 값으로 재해석합니다.
구문
인수
x— Unix Epoch 시작 시점부터 경과한 일 수입니다.(U)Int*또는Float*또는Date또는DateTime또는UUID또는String또는FixedString
반환 값
날짜입니다. Date
예시
사용 예시
reinterpretAsDateTime
도입 버전: v1.1.0
입력 값을 DateTime 값으로 다시 해석합니다(리틀 엔디언 바이트 순서를 가정). 이 값은 Unix epoch의 시작인 1970-01-01 이후 경과한 일 수를 나타냅니다.
구문
인자
x— Unix Epoch 시작 시점부터 경과한 초 단위의 값.(U)Int*또는Float*또는Date또는DateTime또는UUID또는String또는FixedString
반환 값
날짜와 시간. DateTime
예시
사용 예시
reinterpretAsFixedString
도입 버전: v1.1.0
입력값을 고정 길이 문자열(FixedString)로 재해석합니다(리틀 엔디언 순서를 가정합니다).
끝의 널 바이트는 무시되며, 예를 들어 UInt32 값 255에 대해 이 함수는 단일 문자로 이루어진 문자열을 반환합니다.
구문
인수
반환 값
x를 나타내는 바이트를 포함하는 고정 길이 문자열 값. FixedString
예시
사용 예시
reinterpretAsFloat32
도입 버전: v1.1.0
입력값을 Float32 타입의 값으로 재해석합니다.
CAST와는 달리, 이 함수는 원래 값을 보존하려고 시도하지 않습니다. 대상 타입이 입력 타입을 표현할 수 없으면 출력값은 정의되지 않습니다.
구문
인수
반환 값
재해석된 값 x를 반환합니다. Float32
예시
사용 예시
reinterpretAsFloat64
도입된 버전: v1.1.0
입력 값을 Float64 타입의 값으로 재해석합니다.
CAST와 달리 이 함수는 원래 값을 보존하려고 시도하지 않습니다. 대상 타입이 입력 타입을 표현할 수 없으면 결과는 정의되지 않은 값이 됩니다.
구문
인수
반환 값
재해석한 값 x를 반환합니다. 반환 타입은 Float64입니다.
예시
사용 예시
reinterpretAsInt128
도입 버전: v1.1.0
입력 값을 Int128 타입의 값으로 재해석합니다.
CAST와 달리 이 FUNCTION은 원래 값을 보존하려고 시도하지 않습니다. 대상 타입이 입력 타입을 표현할 수 없으면 출력 값은 정의되지 않습니다.
구문
인자
반환 값
재해석한 값 x를 반환합니다. Int128
예시
사용 예시
reinterpretAsInt16
도입 버전: v1.1.0
입력 값을 Int16 타입의 값으로 재해석합니다.
CAST와는 달리, 이 FUNCTION은 원래 값을 보존하려고 시도하지 않습니다. 대상 타입이 입력 타입을 표현할 수 없으면 출력 값은 정의되지 않습니다.
구문
인수
반환 값
재해석된 값 x를 반환합니다. Int16
예시
사용 예시
reinterpretAsInt256
도입 버전: v1.1.0
입력 값을 Int256 타입의 값으로 재해석합니다.
CAST와는 달리, 이 함수는 원래 값을 보존하려고 시도하지 않습니다. 대상 타입이 입력 타입을 표현할 수 없으면, 결과는 정의되지 않습니다.
구문
인자
반환 값
재해석된 값인 x를 반환합니다. Int256
예시
사용 예시
reinterpretAsInt32
도입 버전: v1.1.0
입력 값을 Int32 타입의 값으로 재해석합니다.
CAST와 달리 이 함수는 원래 값을 보존하려고 시도하지 않습니다. 대상 타입으로는 입력 값을 표현할 수 없으면 결과는 정의되지 않습니다.
구문
인수
반환 값
재해석된 값 x를 반환합니다. Int32
예시
사용 예시
reinterpretAsInt64
도입 버전: v1.1.0
입력값을 Int64 타입의 값으로 재해석합니다.
CAST와는 달리, 이 함수는 원래 값을 보존하려고 시도하지 않습니다. 대상 타입으로 입력값을 표현할 수 없는 경우 결과는 정의되지 않습니다.
구문
인수
반환 값
재해석된 값 x를 반환합니다. Int64
예시
사용 예시
reinterpretAsInt8
도입 버전: v1.1.0
입력 값을 Int8 타입의 값으로 재해석합니다.
CAST와는 달리, 이 FUNCTION은 원래 값을 보존하려고 시도하지 않습니다. 대상 타입이 입력 값을 표현할 수 없는 경우 출력은 정의되지 않습니다.
구문
인수
반환 값
재해석된 x 값을 반환합니다. Int8
예시
사용 예시
reinterpretAsString
도입 버전: v1.1.0
입력값을 문자열로 재해석합니다(리틀 엔디언 순서를 가정합니다). 마지막에 있는 널 바이트는 무시됩니다. 예를 들어, 이 함수는 UInt32 값 255에 대해 한 글자로 이루어진 문자열을 반환합니다.
구문
인수
반환 값
x를 표현하는 바이트를 포함하는 문자열. String
예시
사용 예시
reinterpretAsUInt128
도입: v1.1.0
입력 값을 UInt128 타입의 값으로 재해석합니다.
CAST와는 달리, 이 함수는 원래 값을 보존하려고 시도하지 않습니다. 대상 타입이 입력 값을 표현할 수 없는 경우 출력 값은 정의되지 않습니다.
구문
인수
반환 값
재해석된 x 값을 반환합니다. UInt128
예제
사용 예제
reinterpretAsUInt16
도입: v1.1.0
입력 값을 UInt16 타입의 값으로 재해석합니다.
CAST와 달리 이 FUNCTION은 원래 값을 보존하려고 시도하지 않습니다. 대상 타입이 입력 값을 표현할 수 없으면 결과는 정의되지 않습니다.
구문
인수
반환 값
다시 해석된 값 x를 반환합니다. UInt16
예시
사용 예시
reinterpretAsUInt256
도입 버전: v1.1.0
입력 값을 UInt256 형식의 값으로 다시 해석합니다.
CAST와는 달리 이 함수는 원래 값을 보존하려고 시도하지 않습니다. 대상 형식으로 입력 값을 표현할 수 없으면 결과는 정의되지 않습니다.
구문
인수
반환 값
재해석된 값인 x를 반환합니다. UInt256
예제
사용 예제
reinterpretAsUInt32
도입 버전: v1.1.0
입력 값을 UInt32 타입의 값으로 다시 해석합니다.
CAST와는 달리 이 함수는 원래 값을 보존하려고 시도하지 않습니다. 대상 타입이 입력 타입을 표현할 수 없으면 결과는 정의되지 않습니다.
구문
인자
반환 값
재해석한 x 값을 반환합니다. UInt32
예시
사용 예시
reinterpretAsUInt64
도입된 버전: v1.1.0
입력 값을 UInt64 타입의 값으로 재해석합니다.
CAST와는 달리 이 함수는 원래 값을 보존하려고 시도하지 않습니다. 대상 타입이 입력 타입을 표현할 수 없으면 출력 값은 정의되지 않습니다.
구문
인수
반환 값
x를 UInt64로 재해석한 값을 반환합니다. UInt64
예시
사용 예시
reinterpretAsUInt8
도입 버전: v1.1.0
입력 값을 UInt8 타입의 값으로 재해석합니다.
CAST와 달리, 이 FUNCTION은 원래 값을 보존하려고 시도하지 않습니다. 대상 타입으로는 입력 값을 표현할 수 없는 경우 출력 값은 정의되지 않습니다.
구문
인수
반환 값
재해석된 x 값을 반환합니다. UInt8
예시
사용 예시
reinterpretAsUUID
도입 버전: v1.1.0
16바이트 문자열을 받아, 이를 8바이트씩 두 부분으로 나누고 각 부분을 리틀 엔디언 바이트 순서로 해석하여 UUID를 반환합니다. 문자열의 길이가 16바이트보다 짧으면, 문자열 끝에 필요한 개수만큼 널(null) 바이트가 패딩된 것처럼 동작합니다. 문자열이 16바이트보다 길면, 끝에 있는 추가 바이트는 무시됩니다.
구문
인수
fixed_string— 빅 엔디언(big-endian) 바이트 문자열입니다.FixedString
반환 값
UUID 타입의 값입니다. UUID
예시
String을 UUID로 변환
toBFloat16
도입 버전: v1.1.0
입력값을 BFloat16 타입의 값으로 변환합니다. 오류가 발생하는 경우 예외를 발생시킵니다.
함께 보기:
구문
인수
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 식입니다.Expression
반환 값
16비트 브레인 플로트(brain-float) 값을 반환합니다. BFloat16
예시
사용 예시
toBFloat16OrNull
도입 버전: v1.1.0
String 입력 값을 BFloat16 타입의 값으로 변환합니다.
문자열이 부동 소수점 값을 나타내지 않으면 함수는 NULL을 반환합니다.
지원되는 인수:
- 숫자 값을 나타내는 문자열 표현.
지원되지 않는 인수 (NULL 반환):
- 이진수 및 16진수 값을 나타내는 문자열 표현.
- 숫자 값.
이 함수는 문자열 표현에서 변환하는 과정에서 정밀도가 암묵적으로 손실되는 것을 허용합니다.
함께 보기:
구문
인수(Arguments)
x— 숫자를 문자열로 표현한 값입니다.String
반환 값(Returned value)
16비트 brain-float 값을 반환하며, 그렇지 않으면 NULL을 반환합니다. BFloat16 또는 NULL
예시(Examples)
사용 예시(Usage example)
toBFloat16OrZero
도입 버전: v1.1.0
입력 String 값을 BFloat16 타입 값으로 변환합니다.
문자열이 부동 소수점 값을 나타내지 않으면 함수는 0을 반환합니다.
지원되는 인수:
- 숫자 값을 나타내는 문자열.
지원되지 않는 인수 (0 반환):
- 이진수 및 16진수 값을 나타내는 문자열.
- 숫자 값.
이 함수는 문자열 표현에서 변환하는 동안 정밀도가 조용히(암묵적으로) 손실되는 것을 허용합니다.
함께 보기:
구문
인수
x— 숫자를 나타내는 문자열.String
반환 값
16비트 brain-float 값을 반환하며, 그렇지 않으면 0을 반환합니다. BFloat16
예제
사용 예제
toBool
도입된 버전: v22.2.0
입력 값을 Bool 형식의 값으로 변환합니다.
구문
인수
expr— 숫자 또는 문자열을 반환하는 표현식입니다. 문자열의 경우 대소문자를 구분하지 않고 「true」 또는 「false」만 허용합니다.(U)Int*또는Float*또는String또는Expression
반환값
인수의 평가 결과에 따라 true 또는 false를 반환합니다. Bool
예시
사용 예시
toDate
도입: v1.1.0
입력값을 Date 타입으로 변환합니다.
String, FixedString, DateTime 및 숫자 타입에서의 변환을 지원합니다.
구문
인자
x— 변환할 입력값입니다.String또는FixedString또는DateTime또는(U)Int*또는Float*
반환 값
변환된 입력값을 반환합니다. Date
예시
String을 Date로 변환
DateTime을 Date로 변환
정수를 Date로 변환
toDate32
도입된 버전: v21.9.0
인수를 Date32 데이터 타입으로 변환합니다.
값이 범위를 벗어나면 toDate32는 Date32가 지원하는 경계 값을 반환합니다.
인수가 Date 타입인 경우 해당 타입의 범위가 적용됩니다.
구문
인수
반환값
달력 날짜를 반환합니다. Date32
예시
범위 내
범위를 벗어남
toDate32OrDefault
도입 버전: v21.11.0
인수를 Date32 데이터 타입으로 변환합니다. 값이 허용 범위를 벗어나는 경우 toDate32OrDefault는 Date32에서 지원하는 하한 경계값을 반환합니다. 인수가 Date 타입인 경우 해당 타입의 허용 범위도 함께 고려합니다. 잘못된 인수가 전달되면 기본값(default value)을 반환합니다.
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱(구문 분석)에 실패했을 때 반환할 기본값입니다.Date32
반환 값
성공한 경우 Date32 타입의 값을 반환하며, 그렇지 않은 경우 전달된 기본값이 있으면 그 값을, 없으면 1900-01-01을 반환합니다. Date32
예제
변환 성공 예제
변환 실패
toDate32OrNull
도입 버전: v21.9.0
입력값을 Date32 타입의 값으로 변환하지만 잘못된 인수가 전달되면 NULL을 반환합니다.
toDate32와 동일하지만 잘못된 인수가 전달되면 NULL을 반환합니다.
구문
인수
x— 날짜를 나타내는 문자열.String
반환값
성공한 경우 Date32 값을, 그렇지 않으면 NULL을 반환합니다. Date32 또는 NULL
예제
사용 예제
toDate32OrZero
도입 버전: v21.9.0
입력 값을 Date32 타입의 값으로 변환하지만, 잘못된 인수가 입력되면 Date32의 하한 값을 반환합니다. toDate32와 동일하지만, 잘못된 인수가 입력되면 Date32의 하한 값을 반환합니다.
함께 보기:
구문
인수
x— 문자열 형태의 날짜.String
반환 값
성공한 경우 Date32 값을 반환하고, 그렇지 않으면 Date32의 하한인 1900-01-01을 반환합니다. Date32
예시
사용 예시
toDateOrDefault
도입 버전: v21.11.0
toDate와 유사하지만, 변환에 성공하지 못하면 기본값을 반환합니다. 기본값은 두 번째 인자가 지정되어 있으면 그 값이고, 지정되지 않은 경우 Date의 하한 값입니다.
구문
인자
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 표현식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패한 경우 반환할 기본값입니다.Date
반환 값
성공한 경우 Date 타입의 값을 반환합니다. 실패한 경우 기본값이 전달되어 있으면 해당 값을, 전달되지 않은 경우 1970-01-01을 반환합니다. Date
예시
성공적인 변환
변환 실패
toDateOrNull
도입된 버전: v1.1.0
입력값을 Date 타입의 값으로 변환하지만, 잘못된 인수가 전달되면 NULL을 반환합니다.
toDate와 동일하지만, 잘못된 인수가 전달되면 NULL을 반환합니다.
구문
인수
x— 날짜를 문자열로 표현한 값입니다.String
반환 값
성공하면 Date 값을 반환하고, 그렇지 않으면 NULL을 반환합니다. Date 또는 NULL
예시
사용 예시
toDateOrZero
도입된 버전: v1.1.0
입력 값을 Date 타입으로 변환하지만, 잘못된 인수가 전달되면 Date 타입의 하한값을 반환합니다.
toDate와 동일하지만, 잘못된 인수가 전달되면 Date 타입의 하한값을 반환합니다.
함께 보기:
문법
인수
x— 문자열 형태의 날짜.String
반환 값
성공한 경우 Date 값을, 그렇지 않으면 Date의 하한값인 1970-01-01을 반환합니다. Date
예시
사용 예시
toDateTime
도입 버전: v1.1.0
입력값을 DateTime 형식으로 변환합니다.
expr이 숫자인 경우 유닉스 에포크(Unix Epoch) 시작 시점부터의 초 단위 시간(Unix 타임스탬프, Unix timestamp)으로 해석됩니다.
expr이 String인 경우 Unix 타임스탬프이거나 날짜/날짜-시간의 문자열 표현으로 해석될 수 있습니다.
따라서 짧은 숫자 문자열 표현(최대 4자리)은 모호성 때문에 파싱이 명시적으로 비활성화되어 있습니다. 예를 들어 문자열 '1999'는 연도(날짜/DateTime의 불완전한 문자열 표현)일 수도 있고 Unix 타임스탬프일 수도 있습니다. 더 긴 숫자 문자열은 허용됩니다.
문법
인수
반환 값
DateTime 형식의 날짜와 시간을 반환합니다. DateTime
예시
사용 예시
toDateTime32
도입 버전: v20.9.0
입력 값을 DateTime 타입으로 변환합니다.
String, FixedString, Date, Date32, DateTime 또는 수치형 타입((U)Int*, Float*, Decimal)에서의 변환을 지원합니다.
DateTime32는 DateTime에 비해 더 넓은 범위를 제공하며, 1900-01-01부터 2299-12-31까지의 날짜를 지원합니다.
구문
인수
x— 변환할 입력값입니다.String또는FixedString또는UInt*또는Float*또는Date또는DateTime또는DateTime64timezone— 선택 사항입니다. 반환되는DateTime값에 사용할 타임존입니다.String
반환 값
변환된 입력값을 반환합니다. DateTime
예시
값이 범위 내에 있는 경우
정밀도를 가진 10진수 값으로
타임존을 사용하는 경우
toDateTime64
도입 버전: v20.1.0
입력값을 DateTime64 타입의 값으로 변환합니다.
구문
인수
expr— 숫자 또는 숫자를 문자열로 표현한 값을 반환하는 식입니다.Expressionscale— 틱 크기(정밀도)입니다. 10^(-scale)초를 의미합니다.UInt8timezone— 선택 사항입니다. 지정된DateTime64객체에 사용할 시간대입니다.String
반환 값
하위 초 단위까지 포함하는 달력 날짜와 하루 중 시간을 반환합니다. DateTime64
예제
값이 유효 범위 내에 있는 경우
정밀도를 포함한 Decimal 값으로
타임존 지정
toDateTime64OrDefault
도입 버전: v21.11.0
toDateTime64와 마찬가지로 이 함수는 입력값을 DateTime64 타입의 값으로 변환합니다. 다만 잘못된 인수가 전달된 경우 DateTime64의 기본값 또는 제공된 기본값을 반환합니다.
구문
인수
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 식입니다.String또는(U)Int*또는Float*scale— 틱 크기(정밀도)입니다. 10^-precision 초 단위입니다.UInt8timezone— 선택 사항입니다. 시간대입니다.Stringdefault— 선택 사항입니다. 파싱에 실패한 경우 반환할 기본값입니다.DateTime64
반환 값
성공하면 DateTime64 유형의 값을 반환하며, 그렇지 않으면 default 값이 전달된 경우 해당 값을, 전달되지 않은 경우 1970-01-01 00:00:00.000을 반환합니다. DateTime64
예시
성공한 변환
변환 실패
toDateTime64OrNull
도입된 버전: v20.1.0
입력 값을 DateTime64 타입의 값으로 변환하지만, 잘못된 인수가 전달되면 NULL을 반환합니다.
toDateTime64와 동일하지만, 잘못된 인수가 전달되면 NULL을 반환합니다.
구문
인수
x— 소수 초 단위까지의 정밀도를 포함하는 날짜와 시간의 문자열 표현입니다.String
반환 값
성공하면 DateTime64 값을 반환하고, 그렇지 않으면 NULL을 반환합니다. DateTime64 또는 NULL
예시
사용 예시
toDateTime64OrZero
도입 버전: v20.1.0
입력 값을 DateTime64 타입의 값으로 변환하되, 잘못된 인수가 전달되면 DateTime64의 하한 값을 반환합니다. toDateTime64와 동일하게 동작하지만, 잘못된 인수가 전달되면 DateTime64의 하한 값을 반환합니다.
함께 보기:
구문
인자
x— 시간 및 초 이하 단위 정밀도를 포함한 날짜의 문자열 표현입니다.String
반환 값
성공하면 DateTime64 값을 반환하며, 실패하면 DateTime64의 하한 값인 1970-01-01 00:00:00.000을 반환합니다. DateTime64
예시
사용 예시
toDateTimeOrDefault
도입: v21.11.0
toDateTime과 유사하지만, 변환에 실패하는 경우 기본값을 반환합니다. 기본값은 세 번째 인자가 지정되어 있으면 해당 값이고, 지정되지 않은 경우 DateTime의 하한입니다.
구문
인자
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 식입니다.String또는(U)Int*또는Float*timezone— 선택 사항입니다. 타임존을 나타냅니다.Stringdefault— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.DateTime
반환 값
성공한 경우 DateTime 타입의 값을 반환하고, 그렇지 않은 경우 default 값이 전달되었으면 해당 값을, 전달되지 않았으면 1970-01-01 00:00:00을 반환합니다. DateTime
예시
성공적인 변환
변환 실패
toDateTimeOrNull
도입 버전: v1.1.0
입력값을 DateTime 타입의 값으로 변환하지만, 잘못된 인수가 전달되면 NULL을 반환합니다.
toDateTime과 동일하지만, 잘못된 인수가 전달되면 NULL을 반환합니다.
구문
인수
x— 시간 정보를 포함한 날짜를 나타내는 문자열입니다.String
반환 값
성공한 경우 DateTime 값을, 그렇지 않으면 NULL을 반환합니다. DateTime 또는 NULL
예시
사용 예시
toDateTimeOrZero
도입 버전: v1.1.0
입력 값을 DateTime 타입의 값으로 변환합니다. 단, 유효하지 않은 인수가 전달되면 DateTime 하한값을 반환합니다. toDateTime과 동일하지만, 유효하지 않은 인수가 전달되면 DateTime 하한값을 반환합니다.
구문
인수
x— 시간 정보를 포함한 날짜의 문자열 표현.String
반환값
성공한 경우 DateTime 값을 반환하고, 실패한 경우 DateTime의 하한값인 1970-01-01 00:00:00을 반환합니다. DateTime
예시
사용 예시
toDecimal128
도입된 버전: v18.12.0
입력 값을 스케일 S를 갖는 Decimal(38, S) 타입의 값으로 변환합니다.
오류가 발생하면 예외를 발생시킵니다.
지원되는 인수:
- 타입이 (U)Int*인 값 또는 해당 값의 문자열 표현.
- 타입이 Float*인 값 또는 해당 값의 문자열 표현.
지원되지 않는 인수:
- Float* 형식의
NaN,Inf값 또는 해당 값의 문자열 표현(대소문자 구분 없음). - 이진 및 16진수 값의 문자열 표현, 예:
SELECT toDecimal128('0xc0fe', 1);.
expr의 값이 Decimal128의 범위 (-1*10^(38 - S), 1*10^(38 - S))를 초과하면 오버플로가 발생할 수 있습니다.
소수 부분의 초과 자릿수는 버려집니다(반올림되지 않음).
정수 부분의 초과 자릿수는 예외를 발생시킵니다.
변환 시 부동 소수점 명령어를 사용하여 연산이 수행되므로 Float32/Float64 입력을 사용할 때 추가 자릿수가 잘려 나가 예기치 않게 동작할 수 있습니다.
예를 들어 toDecimal128(1.15, 2)는 부동 소수점에서 1.15 * 100이 114.99가 되기 때문에 1.14와 같습니다.
연산에 기본 정수 타입을 사용하도록 하려면 String 입력을 사용할 수 있습니다: toDecimal128('1.15', 2) = 1.15
문법
인수
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 식입니다.ExpressionS— 0에서 38 사이의 스케일(scale) 매개변수로, 소수 부분이 가질 수 있는 자릿수(숫자 개수)를 지정합니다.UInt8
반환 값
Decimal(38, S) 타입의 값을 반환합니다. Decimal128(S)
예시
사용 예시
toDecimal128OrDefault
도입된 버전: v21.11.0
toDecimal128과 같이, 이 함수는 입력값을 Decimal(38, S) 타입의 값으로 변환하지만, 오류가 발생하면 기본값을 반환합니다.
문법
인수
expr— 숫자를 나타내는 문자열입니다.StringS— 0에서 38 사이의 스케일(scale) 매개변수로, 소수 부분이 가질 수 있는 자릿수 개수를 지정합니다.UInt8default— 선택 사항입니다. Decimal128(S) 형식으로 파싱하지 못했을 때 반환할 기본값입니다.Decimal128(S)
반환 값
성공하면 Decimal(38, S) 형식의 값을 반환하고, 그렇지 않으면 전달된 기본값이 있을 경우 해당 값을, 없을 경우 0을 반환합니다. Decimal128(S)
예시
성공적인 변환
형 변환 실패
toDecimal128OrNull
도입된 버전: v20.1.0
입력 값을 Decimal(38, S) 타입의 값으로 변환하지만, 변환 중 오류가 발생하는 경우 NULL을 반환합니다.
toDecimal128과 유사하지만, 변환 오류 시 예외를 발생시키는 대신 NULL을 반환합니다.
지원되는 인수:
- (U)Int* 타입의 값 또는 해당 값의 문자열 표현.
- Float* 타입의 값 또는 해당 값의 문자열 표현.
지원되지 않는 인수(NULL 반환):
- Float* 값
NaN및Inf의 값 또는 해당 값의 문자열 표현(대소문자 구분 없음). - 이진수 및 16진수 값의 문자열 표현.
Decimal128의 범위를 초과하는 값:(-1*10^(38 - S), 1*10^(38 - S)).
관련 항목:
구문
인수
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 표현식입니다.ExpressionS— 0에서 38 사이의 스케일(scale) 매개변수로, 숫자의 소수 부분이 가질 수 있는 자릿수의 개수를 지정합니다.UInt8
반환 값
성공한 경우 Decimal(38, S) 값을 반환하고, 그렇지 않으면 NULL을 반환합니다. Decimal128(S) 또는 NULL
예시
사용 예시
toDecimal128OrZero
도입된 버전: v20.1.0
입력 값을 Decimal(38, S) 타입의 값으로 변환하지만, 오류가 발생하는 경우 0을 반환합니다.
toDecimal128과 같지만, 변환 오류 시 예외를 던지는 대신 0을 반환합니다.
지원되는 인수:
- (U)Int* 타입의 값 또는 그 문자열 표현.
- Float* 타입의 값 또는 그 문자열 표현.
지원되지 않는 인수(0 반환):
- Float* 타입의
NaN및Inf값 또는 해당 문자열 표현(대소문자 구분 없음). - 2진수 및 16진수 값의 문자열 표현.
입력 값이 Decimal128의 범위 (-1*10^(38 - S), 1*10^(38 - S))를 초과하면, 함수는 0을 반환합니다.
구문
인수
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 식입니다.ExpressionS— 0 이상 38 이하의 스케일(scale) 매개변수로, 숫자의 소수 부분이 가질 수 있는 최대 자릿수를 지정합니다.UInt8
반환 값
성공하면 Decimal(38, S) 값을, 그렇지 않으면 0을 반환합니다. Decimal128(S)
예시
기본 사용법
toDecimal256
도입 버전: v20.8.0
입력 값을 스케일 S를 갖는 Decimal(76, S) 타입의 값으로 변환합니다. 오류가 발생하면 예외를 발생시킵니다.
지원되는 인수:
- (U)Int* 타입의 값 또는 해당 값의 문자열 표현.
- Float* 타입의 값 또는 해당 값의 문자열 표현.
지원되지 않는 인수:
- Float* 값
NaN및Inf(대소문자 구분 없음) 자체 값 또는 해당 값의 문자열 표현. - 이진수 및 16진수 값의 문자열 표현(예:
SELECT toDecimal256('0xc0fe', 1);).
expr의 값이 Decimal256의 경계값 (-1*10^(76 - S), 1*10^(76 - S))을 초과하면 오버플로가 발생할 수 있습니다.
소수 부분에서 과도한 자리수는 버려지며(반올림되지 않음),
정수 부분에서 과도한 자리수는 예외를 발생시킵니다.
변환 과정에서 추가 자리수가 잘려 나가며, 연산이 부동소수점 명령어로 수행되기 때문에 Float32/Float64 입력을 사용할 때 예기치 않은 방식으로 동작할 수 있습니다.
예를 들어, toDecimal256(1.15, 2)는 1.15 * 100이 부동소수점에서 114.99가 되기 때문에 1.14와 같습니다.
연산이 내부 정수 타입을 사용하도록 하려면 String 입력을 사용할 수 있습니다: toDecimal256('1.15', 2) = 1.15
구문
인수
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 표현식입니다.ExpressionS— 0 이상 76 이하의 스케일 매개변수로, 숫자의 소수 부분이 가질 수 있는 자릿수를 지정합니다.UInt8
반환 값
Decimal(76, S) 타입의 값을 반환합니다. Decimal256(S)
예시
사용 예시
toDecimal256OrDefault
도입 버전: v21.11.0
toDecimal256와 마찬가지로, 이 함수는 입력 값을 Decimal(76, S) 타입의 값으로 변환하지만, 오류가 발생하면 기본값을 반환합니다.
구문
인수
expr— 숫자의 문자열(String) 표현입니다.StringS— 0과 76 사이의 스케일(scale) 매개변수로, 숫자의 소수부가 가질 수 있는 자릿수를 지정합니다.UInt8default— 선택 사항입니다. Decimal256(S) 타입으로의 파싱이 실패했을 때 반환할 기본값입니다.Decimal256(S)
반환 값
성공 시 Decimal(76, S) 타입의 값을, 실패 시 전달된 기본값이 있으면 그 값을, 없으면 0을 반환합니다. Decimal256(S)
예시
성공적인 변환
변환 실패
toDecimal256OrNull
도입 버전: v20.8.0
입력 값을 Decimal(76, S) 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
toDecimal256와 같지만, 변환 오류 시 예외를 발생시키는 대신 NULL을 반환합니다.
지원되는 인수:
- (U)Int* 타입의 값 또는 그 문자열 표현.
- Float* 타입의 값 또는 그 문자열 표현.
지원되지 않는 인수 (NULL 반환):
NaN,Inf(대소문자 구분 없음)과 같은 Float* 값 또는 그 문자열 표현.- 2진수 및 16진수 값을 나타내는 문자열 표현.
Decimal256의 범위를 초과하는 값:(-1 * 10^(76 - S), 1 * 10^(76 - S)).
함께 보기:
구문
인자
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 표현식입니다.ExpressionS— 0에서 76 사이의 스케일(scale) 매개변수로, 숫자의 소수 부분이 가질 수 있는 자릿수 개수를 지정합니다.UInt8
반환 값
성공하면 Decimal(76, S) 값을, 그렇지 않으면 NULL을 반환합니다. Decimal256(S) 또는 NULL
예시
사용 예시
toDecimal256OrZero
도입된 버전: v20.8.0
입력 값을 Decimal(76, S) 타입 값으로 변환하지만, 오류가 발생하는 경우 0을 반환합니다.
toDecimal256과 유사하지만, 변환 오류 시 예외를 발생시키는 대신 0을 반환합니다.
지원되는 인수:
- (U)Int* 타입 값 또는 해당 문자열 표현.
- Float* 타입 값 또는 해당 문자열 표현.
지원되지 않는 인수(0 반환):
- Float* 타입의
NaN및Inf값 또는 그 문자열 표현(대소문자를 구분하지 않음). - 이진수 및 16진수 값의 문자열 표현.
입력 값이 Decimal256의 범위 (-1*10^(76 - S), 1*10^(76 - S))를 초과하는 경우, 함수는 0을 반환합니다.
함께 보기:
구문
인수
expr— 숫자 또는 숫자를 문자열로 표현한 값을 반환하는 식입니다.ExpressionS— 0에서 76 사이의 스케일 매개변수로, 소수 부분 자릿수의 최대 개수를 지정합니다.UInt8
반환 값
성공하면 Decimal(76, S) 값을, 그렇지 않으면 0을 반환합니다. Decimal256(S)
예시
사용 예시
toDecimal32
도입 버전: v18.12.0
입력 값을 스케일 S를 갖는 Decimal(9, S) 타입의 값으로 변환합니다. 오류가 발생하면 예외를 발생시킵니다.
지원되는 인수:
- (U)Int* 타입 값 또는 해당 문자열 표현.
- Float* 타입 값 또는 해당 문자열 표현.
지원되지 않는 인수:
- Float* 타입의
NaN및Inf값(대소문자 구분 없음)과 그 문자열 표현. - 이진 및 16진수 값의 문자열 표현. 예:
SELECT toDecimal32('0xc0fe', 1);.
expr의 값이 Decimal32의 범위 (-1*10^(9 - S), 1*10^(9 - S))를 초과하면 오버플로가 발생할 수 있습니다.
소수부의 자릿수가 너무 많은 경우 초과 자릿수는 버려집니다(반올림되지 않음).
정수부의 자릿수가 너무 많은 경우 예외가 발생합니다.
변환 과정에서 초과 자릿수가 잘려 나가며, 연산이 부동소수점 명령어를 사용해 수행되므로 Float32/Float64 입력을 처리할 때 예기치 않게 동작할 수 있습니다.
예: toDecimal32(1.15, 2)는 1.14와 같습니다. 이는 부동소수점 연산에서 1.15 * 100이 114.99가 되기 때문입니다.
문자열 입력을 사용하여 연산이 내부 정수 타입을 사용하도록 할 수 있습니다: toDecimal32('1.15', 2) = 1.15
구문
인수
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 식입니다.ExpressionS— 0에서 9 사이의 스케일(scale) 매개변수로, 수의 소수 부분에 허용되는 자릿수의 개수를 지정합니다.UInt8
반환 값
Decimal(9, S) 타입의 값을 반환합니다. Decimal32(S)
예시
사용 예시
toDecimal32OrDefault
도입된 버전: v21.11.0
toDecimal32와 마찬가지로, 이 FUNCTION은 입력값을 Decimal(9, S) 형식의 값으로 변환하지만, 오류가 발생하는 경우 기본값을 반환합니다.
구문
인수
expr— 숫자의 문자열(String) 표현입니다.StringS— 0 이상 9 이하의 스케일(scale) 매개변수로, 숫자의 소수 부분이 가질 수 있는 자릿수 개수를 지정합니다.UInt8default— 선택 사항입니다. Decimal32(S) 타입으로의 파싱에 실패했을 때 반환할 기본값입니다.Decimal32(S)
반환 값
성공한 경우 Decimal(9, S) 타입의 값을 반환하며, 실패한 경우 전달된 기본값이 있으면 해당 값을, 없으면 0을 반환합니다. Decimal32(S)
예시
성공적인 변환
변환 실패
toDecimal32OrNull
도입 버전: v20.1.0
입력 값을 Decimal(9, S) 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
toDecimal32와 같지만, 변환 오류 시 예외를 발생시키는 대신 NULL을 반환합니다.
지원되는 인수:
- (U)Int* 타입 값 또는 해당 값의 문자열 표현.
- Float* 타입 값 또는 해당 값의 문자열 표현.
지원되지 않는 인수(NULL 반환):
- Float* 값
NaN및Inf값 또는 해당 값의 문자열 표현(대소문자 구분 안 함). - 이진수 및 16진수 값의 문자열 표현.
Decimal32의 범위를 초과하는 값:(-1*10^(9 - S), 1*10^(9 - S)).
관련 항목:
구문
인자
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 표현식입니다.ExpressionS— 0 이상 9 이하의 스케일 매개변수로, 숫자의 소수 부분이 가질 수 있는 자릿수입니다.UInt8
반환 값
성공 시 Decimal(9, S) 값을 반환하고, 그렇지 않으면 NULL을 반환합니다. Decimal32(S) 또는 NULL
예시
사용 예시
toDecimal32OrZero
도입 버전: v20.1.0
입력 값을 Decimal(9, S) 타입의 값으로 변환하지만, 오류가 발생하는 경우 0을 반환합니다.
toDecimal32와 같지만, 변환 오류 시 예외를 던지는 대신 0을 반환합니다.
지원되는 인수:
- (U)Int* 타입 값 또는 해당 문자열 표현.
- Float* 타입 값 또는 해당 문자열 표현.
지원되지 않는 인수(0 반환):
- Float* 타입 값
NaN,Inf또는 해당 문자열 표현(대소문자 구분 없음). - 2진수 및 16진수 값의 문자열 표현.
입력 값이 Decimal32의 범위 (-1*10^(9 - S), 1*10^(9 - S))를 벗어나면, 함수는 0을 반환합니다.
구문
인자
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 표현식입니다.ExpressionS— 0에서 9 사이의 스케일 파라미터로, 숫자의 소수 부분이 가질 수 있는 자릿수(소수 자릿수)를 지정합니다.UInt8
반환 값
성공하면 Decimal(9, S) 값을 반환하고, 그렇지 않으면 0을 반환합니다. Decimal32(S)
예시
사용 예시
toDecimal64
도입된 버전: v18.12.0
입력 값을 스케일이 S인 Decimal(18, S) 타입의 값으로 변환합니다.
오류가 발생하면 예외를 발생시킵니다.
지원되는 인수:
- (U)Int* 타입의 값 또는 해당 문자열 표현.
- Float* 타입의 값 또는 해당 문자열 표현.
지원되지 않는 인수:
- Float* 값
NaN및Inf(대소문자 구분 없음)의 값 또는 문자열 표현. - 이진 및 16진수 값의 문자열 표현. 예:
SELECT toDecimal64('0xc0fe', 1);.
expr 값이 Decimal64의 범위 (-1*10^(18 - S), 1*10^(18 - S))를 초과하면 오버플로가 발생할 수 있습니다.
소수 부분의 초과 자릿수는 버려지며(반올림되지 않음),
정수 부분의 초과 자릿수는 예외를 발생시킵니다.
변환 시 부동 소수점 명령어를 사용하여 연산하므로 Float32/Float64 입력을 사용할 때 초과 자릿수를 잘라내며, 이로 인해 예상과 다르게 동작할 수 있습니다.
예를 들어 toDecimal64(1.15, 2)는 부동 소수점에서 1.15 * 100이 114.99가 되기 때문에 1.14와 같습니다.
문자열 입력을 사용하면 내부 정수 타입을 사용하여 연산하게 할 수 있습니다: toDecimal64('1.15', 2) = 1.15
문법
인수
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 표현식입니다.ExpressionS— 0에서 18 사이의 스케일 매개변수로, 숫자의 소수 부분이 가질 수 있는 자릿수(숫자 개수)를 지정합니다.UInt8
반환 값
10진수(Decimal) 값을 반환합니다. Decimal(18, S)
예제
사용 예제
toDecimal64OrDefault
도입 버전: v21.11.0
toDecimal64과(와) 마찬가지로, 이 FUNCTION은 입력값을 Decimal(18, S) 타입의 값으로 변환하지만 오류가 발생하면 기본값을 반환합니다.
문법
인자
expr— 숫자를 문자열(String)로 표현한 값입니다.StringS— 0에서 18 사이의 스케일 파라미터로, 숫자의 소수 부분이 가질 수 있는 자릿수입니다.UInt8default— 선택 사항입니다. Decimal64(S) 타입으로의 파싱이 실패했을 때 반환할 기본값입니다.Decimal64(S)
반환 값
성공하면 Decimal(18, S) 타입의 값을 반환하며, 실패하면 전달된 기본값이 있으면 그 값을, 없으면 0을 반환합니다. Decimal64(S)
예시
변환 성공 예시
변환 실패
toDecimal64OrNull
도입 버전: v20.1.0
입력 값을 Decimal(18, S) 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
toDecimal64와 유사하지만 변환 오류 시 예외를 발생시키는 대신 NULL을 반환합니다.
지원되는 인수:
- (U)Int* 타입의 값 또는 해당 문자열 표현.
- Float* 타입의 값 또는 해당 문자열 표현.
지원되지 않는 인수(NULL을 반환):
- Float* 값
NaN및Inf의 값 또는 해당 문자열 표현(대소문자를 구분하지 않음). - 2진수 및 16진수 값의 문자열 표현.
Decimal64의 범위를 초과하는 값:(-1*10^(18 - S), 1*10^(18 - S)).
함께 보기:
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 식입니다.ExpressionS— 0에서 18 사이의 스케일(scale) 매개변수로, 소수 부분의 자릿수 개수를 지정합니다.UInt8
반환 값
성공하면 Decimal(18, S) 값을, 그렇지 않으면 NULL을 반환합니다. Decimal64(S) 또는 NULL
예제
사용 예제
toDecimal64OrZero
도입 버전: v20.1.0
입력값을 Decimal(18, S) 타입 값으로 변환하지만, 오류가 발생하는 경우 0을 반환합니다.
toDecimal64와 유사하지만 변환 오류 시 예외를 던지는 대신 0을 반환합니다.
지원되는 인수:
- (U)Int* 타입 값 또는 그 문자열 표현.
- Float* 타입 값 또는 그 문자열 표현.
지원되지 않는 인수(다음 경우에는 0 반환):
- Float* 값
NaN및Inf(대소문자 구분 없음) 또는 그러한 값의 문자열 표현. - 2진수 및 16진수 값의 문자열 표현.
입력값이 Decimal64의 범위 (-1*10^(18 - S), 1*10^(18 - S))를 초과하는 경우 함수는 0을 반환합니다.
함께 보기:
문법
인수
expr— 숫자 또는 숫자를 문자열로 표현한 값을 반환하는 식입니다.ExpressionS— 0부터 18 사이의 스케일(scale) 매개변수로, 숫자의 소수 부분에서 허용되는 자릿수입니다.UInt8
반환 값
성공하면 Decimal(18, S) 값을 반환하고, 그렇지 않으면 0을 반환합니다. Decimal64(S)
예시
사용 예시
toDecimalString
도입 버전: v23.3.0
숫자 값을 지정된 소수 자릿수를 가진 String으로 변환합니다.
이 FUNCTION은 입력 값을 지정된 소수 자릿수로 반올림합니다. 입력 값의 소수 자릿수가 요청된 자릿수보다 적은 경우, 결과를 0으로 채워 지정된 소수 자릿수와 정확히 같아지도록 합니다.
구문
인수
number— 문자열로 변환할 숫자 값입니다. Int, UInt, Float, Decimal 등 모든 숫자 타입을 사용할 수 있습니다.Int8또는Int16또는Int32또는Int64또는UInt8또는UInt16또는UInt32또는UInt64또는Float32또는Float64또는Decimalscale— 소수 부분에 표시할 자릿수입니다. 필요한 경우 결과가 반올림됩니다.UInt8
반환 값
정확히 지정된 개수의 소수 자릿수를 갖는 숫자의 String 표현을 반환합니다. String
예시
숫자 반올림 및 형식 지정
0으로 채우기
다양한 수치형 타입
toFixedString
도입: v1.1.0
String 인자를 FixedString(N) 타입(길이가 N으로 고정된 문자열)으로 변환합니다.
문자열의 바이트 수가 N보다 적으면 오른쪽을 널(null) 바이트로 채웁니다. 문자열의 바이트 수가 N보다 많으면 예외가 발생합니다.
구문
인자
s— 변환할 문자열.StringN— 결과로 생성되는FixedString의 길이.const UInt*
반환값
길이가 N인 FixedString을 반환합니다. FixedString(N)
예시
사용 예시
toFloat32
도입 버전: v1.1.0
입력 값을 Float32 타입 값으로 변환합니다. 오류가 발생하면 예외를 발생시킵니다.
지원되는 인수:
- (U)Int* 타입 값.
- (U)Int8/16/32/128/256의 문자열 표현.
NaN및Inf를 포함한 Float* 타입 값.- 대소문자를 구분하지 않는
NaN및Inf를 포함한 Float*의 문자열 표현.
지원되지 않는 인수:
SELECT toFloat32('0xc0fe');와 같은 이진수 및 16진수 값을 나타내는 문자열 표현.
관련 항목:
구문
인자
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 표현식입니다.Expression
반환 값
32비트 부동 소수점 값을 반환합니다. Float32
예시
사용 예시
toFloat32OrDefault
도입 버전: v21.11.0
toFloat32와 마찬가지로, 이 함수는 입력값을 Float32 타입 값으로 변환하지만 오류가 발생하면 기본값을 반환합니다.
default 값을 전달하지 않으면 오류가 발생했을 때 0이 반환됩니다.
구문
인수
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.Float32
반환 값
성공하면 Float32 타입의 값을 반환하고, 그렇지 않으면 전달된 기본값이 있으면 그 값을, 없으면 0을 반환합니다. Float32
예시
변환 성공 예
형 변환 실패
toFloat32OrNull
도입 버전: v1.1.0
입력 값을 Float32 타입 값으로 변환하지만, 오류가 발생한 경우 NULL을 반환합니다.
toFloat32와 유사하지만, 변환 오류 시 예외를 던지는 대신 NULL을 반환합니다.
지원되는 인수:
- (U)Int* 타입 값.
- (U)Int8/16/32/128/256의 문자열 표현.
NaN및Inf를 포함한 Float* 타입 값.NaN및Inf를 포함한 Float*의 문자열 표현(대소문자 구분 없음).
지원되지 않는 인수(NULL 반환):
SELECT toFloat32OrNull('0xc0fe');와 같은 이진수 및 16진수 값의 문자열 표현.- 유효하지 않은 문자열 형식.
관련 항목:
구문
인자
x— 숫자를 나타내는 문자열.String
반환값
성공하면 32비트 부동소수점 값을 반환하고, 그렇지 않으면 NULL을 반환합니다. Float32 또는 NULL
예시
사용 예시
toFloat32OrZero
도입 버전: v1.1.0
입력 값을 Float32 타입으로 변환하지만, 오류가 발생하면 0을 반환합니다.
toFloat32와 비슷하지만, 변환 오류 발생 시 예외를 던지는 대신 0을 반환합니다.
관련 항목:
구문
인수
x— 숫자를 문자열로 표현한 값입니다.String
반환 값
성공하면 32비트 부동 소수점(Float) 값을 반환하고, 실패하면 0을 반환합니다. Float32
예시
사용 예시
toFloat64
도입 버전: v1.1.0
입력 값을 Float64 타입의 값으로 변환합니다.
오류가 발생하면 예외를 발생시킵니다.
지원되는 인수:
- (U)Int* 타입의 값.
- (U)Int8/16/32/128/256의 문자열 표현.
NaN및Inf를 포함한 Float* 타입의 값.NaN및Inf를 포함한 Float* 타입의 문자열 표현(대소문자 구분 없음).
지원되지 않는 인수:
SELECT toFloat64('0xc0fe');와 같은 2진수 및 16진수 값의 문자열 표현.
관련 항목:
구문
인수
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 표현식입니다.Expression
반환 값
64비트 부동 소수점 값을 반환합니다. Float64
예제
사용 예제
toFloat64OrDefault
도입된 버전: v21.11.0
toFloat64와 같이, 이 함수는 입력값을 Float64 타입의 값으로 변환하지만, 오류가 발생하면 기본값을 반환합니다.
default 값을 전달하지 않으면, 오류 발생 시 0이 반환됩니다.
구문
인자
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본 값입니다.Float64
반환 값
성공하면 Float64 타입의 값을 반환하며, 실패하면 전달된 기본 값이 있으면 그 값을, 없으면 0을 반환합니다. Float64
예시
성공적인 변환
형 변환 실패
toFloat64OrNull
도입된 버전: v1.1.0
입력 값을 Float64 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
toFloat64와 동일하지만, 변환 오류 시 예외를 발생시키는 대신 NULL을 반환합니다.
지원되는 인수:
- (U)Int* 타입의 값.
- (U)Int8/16/32/128/256의 문자열 표현.
NaN및Inf를 포함한 Float* 타입의 값.NaN및Inf를 포함한 Float* 타입의 문자열 표현(대소문자 구분 없음).
지원되지 않는 인수(NULL 반환):
- 이진수 및 16진수 값의 문자열 표현(예:
SELECT toFloat64OrNull('0xc0fe');). - 잘못된 문자열 형식.
함께 보기:
구문
인수
x— 숫자의 문자열 표현.String
반환 값
변환에 성공하면 64비트 부동 소수점 값을 반환하고, 그렇지 않으면 NULL을 반환합니다. Float64 또는 NULL
예시
사용 예시
toFloat64OrZero
도입 버전: v1.1.0
입력 값을 Float64 타입으로 변환하지만, 오류가 발생하면 0을 반환합니다.
toFloat64와 유사하지만, 변환 오류 시 예외를 던지는 대신 0을 반환합니다.
함께 보기:
구문
인자
x— 숫자를 나타내는 문자열 값.String
반환 값
성공하면 64비트 부동 소수점(Float) 값을 반환하고, 그렇지 않으면 0을 반환합니다. Float64
예시
사용 예시
toInt128
도입 버전: v1.1.0
입력 값을 Int128 타입 값으로 변환합니다. 오류가 발생하면 예외를 발생시킵니다. 이 함수는 0을 향한 반올림을 사용하므로 숫자의 소수 자릿수를 잘라냅니다.
지원되는 인수:
- (U)Int* 타입 값 또는 해당 값의 문자열 표현.
- Float* 타입 값.
지원되지 않는 인수:
NaN,Inf를 포함한 Float* 값의 문자열 표현.SELECT toInt128('0xc0fe');와 같은 2진수 및 16진수 값의 문자열 표현.
입력 값을 Int128의 범위 내에서 표현할 수 없는 경우 결과에 오버플로 또는 언더플로가 발생합니다. 이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 식입니다.Expression
반환 값
128비트 정수 값을 반환합니다. Int128
예시
사용 예시
toInt128OrDefault
도입 버전: v21.11.0
toInt128과 마찬가지로, 이 FUNCTION은 입력값을 Int128 타입의 값으로 변환하지만, 오류가 발생한 경우 기본값을 반환합니다.
default 값이 지정되지 않으면 오류가 발생했을 때 0이 반환됩니다.
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 표현식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.Int128
반환 값
성공한 경우 Int128 타입의 값을 반환합니다. 실패한 경우 기본값이 전달되었다면 그 값을, 전달되지 않았다면 0을 반환합니다. Int128
예시
성공적인 변환
변환 실패
toInt128OrNull
도입 버전: v20.8.0
toInt128과 마찬가지로 이 함수는 입력 값을 Int128 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
지원되는 인수:
- (U)Int* 값의 문자열 표현.
지원되지 않는 인수( NULL 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.SELECT toInt128OrNull('0xc0fe');와 같은 2진수 및 16진수 값의 문자열 표현.
입력 값을 Int128의 범위 내에서 표현할 수 없는 경우 결과에 오버플로 또는 언더플로가 발생합니다. 이는 오류로 간주되지 않습니다.
관련 항목:
구문
인수
x— 숫자를 문자열(String)로 표현한 값입니다.String
반환 값
변환에 성공하면 Int128 타입의 값을, 실패하면 NULL을 반환합니다. Int128 또는 NULL
예제
사용 예제
toInt128OrZero
도입된 버전: v20.8.0
입력 값을 Int128 타입으로 변환하지만, 오류가 발생하면 0을 반환합니다.
toInt128과 유사하지만 예외를 발생시키는 대신 0을 반환합니다.
함께 보기:
구문
인수
반환 값
변환된 입력값을 반환하며, 변환에 실패하면 0을 반환합니다. Int128
예시
사용 예시
변환 실패 시 0 반환
toInt16
도입 버전: v1.1.0
입력 값을 Int16 타입의 값으로 변환합니다.
오류가 발생하는 경우 예외를 발생시킵니다.
지원되는 인수:
- 타입이 (U)Int*인 값 또는 해당 문자열 표현.
- 타입이 Float*인 값.
지원되지 않는 인수:
NaN및Inf를 포함한 Float* 값의 문자열 표현.SELECT toInt16('0xc0fe');와 같은 2진수 및 16진수 값의 문자열 표현.
입력 값을 Int16의 범위 안에서 표현할 수 없으면 결과에 오버플로 또는 언더플로가 발생합니다.
이는 오류로 간주되지 않습니다.
예: SELECT toInt16(32768) == -32768;.
이 함수는 0을 향한 반올림을 사용하며, 이는 숫자의 소수 자릿수를 잘라낸다는 의미입니다.
함께 보기:
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 식입니다.Expression
반환값
16비트 정수 값을 반환합니다. Int16
예제
사용 예제
toInt16OrDefault
도입 버전: v21.11.0
toInt16과(와) 마찬가지로, 이 FUNCTION은 입력값을 Int16 타입의 값으로 변환하지만, 오류가 발생한 경우 기본값을 반환합니다.
default 값이 지정되지 않으면 오류 발생 시 0이 반환됩니다.
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 표현식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.Int16
반환 값
성공하면 Int16 타입의 값을 반환하고, 실패하면 default 값이 지정된 경우 해당 값을, 지정되지 않은 경우 0을 반환합니다. Int16
예제
성공적인 변환
변환 실패
toInt16OrNull
도입된 버전: v1.1.0
toInt16과(와) 마찬가지로, 이 FUNCTION은 입력값을 Int16 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
지원되는 인수:
- (U)Int*의 문자열 표현.
지원되지 않는 인수(NULL 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.SELECT toInt16OrNull('0xc0fe');와 같은 이진 및 16진 값의 문자열 표현.
입력값을 Int16의 범위 내에서 표현할 수 없으면 결과에 오버플로 또는 언더플로가 발생할 수 있습니다. 이는 오류로 간주되지 않습니다.
관련 항목:
구문
인수
x— 숫자를 나타내는 String 형식의 문자열입니다.String
반환 값
Int16 타입의 값을 반환하며, 변환에 실패한 경우 NULL을 반환합니다. Int16 또는 NULL
예시
사용 예시
toInt16OrZero
도입된 버전: v1.1.0
toInt16과(와) 마찬가지로 이 함수는 입력값을 Int16 타입의 값으로 변환하지만, 오류가 발생하는 경우 0을 반환합니다.
지원되는 인수:
- (U)Int* 값의 문자열 표현.
지원되지 않는 인수(0 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.- 예:
SELECT toInt16OrZero('0xc0fe');와 같은 이진수 및 16진수 값의 문자열 표현.
입력값이 Int16 범위로 표현될 수 없는 경우, 결과에서 오버플로 또는 언더플로가 발생합니다. 이는 오류로 간주되지 않습니다.
관련 항목:
구문
인자
x— 숫자를 String으로 표현한 값입니다.String
반환 값
Int16 타입의 값을 반환하며, 변환에 실패한 경우 0을 반환합니다. Int16
예시
사용 예시
toInt256
도입된 버전: v1.1.0
입력 값을 Int256 타입의 값으로 변환합니다. 오류가 발생하면 예외를 발생시킵니다. 이 함수는 0을 향한 반올림(절단)을 사용하여, 숫자의 소수 자릿수를 잘라냅니다.
지원되는 인수:
- (U)Int* 타입의 값 또는 해당 문자열 표현.
- Float* 타입의 값.
지원되지 않는 인수:
NaN,Inf를 포함한 Float* 값의 문자열 표현.SELECT toInt256('0xc0fe');와 같은 이진수 및 16진수 값의 문자열 표현.
입력 값을 Int256 범위 내에서 표현할 수 없는 경우 결과에 오버플로 또는 언더플로가 발생합니다. 이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 식입니다.Expression
반환 값
256비트 정수 값을 반환합니다. Int256
예제
사용 예제
toInt256OrDefault
도입 버전: v21.11.0
toInt256와 마찬가지로 이 함수는 입력값을 Int256 타입의 값으로 변환하지만, 오류가 발생하는 경우 기본값을 반환합니다.
default 값을 전달하지 않으면 오류가 발생했을 때 0이 반환됩니다.
구문
인수
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.Int256
반환 값
변환에 성공하면 Int256 타입의 값을 반환하고, 실패하면 전달된 경우 기본값을, 기본값이 없으면 0을 반환합니다. Int256
예시
성공적인 변환
변환 실패
toInt256OrNull
도입된 버전: v20.8.0
toInt256과(와) 마찬가지로, 이 함수는 입력 값을 Int256 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
지원되는 인자:
- (U)Int* 값의 문자열 표현.
지원되지 않는 인자(NULL 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.SELECT toInt256OrNull('0xc0fe');와 같은 이진 및 16진수 값의 문자열 표현.
입력 값을 Int256의 범위 내에서 표현할 수 없는 경우, 결과에 오버플로우 또는 언더플로우가 발생합니다. 이는 오류로 간주되지 않습니다.
함께 보기:
Syntax
인수
x— 숫자를 나타내는 문자열(String)입니다.String
반환 값
성공하면 Int256 타입의 값을, 변환에 실패하면 NULL을 반환합니다. Int256 또는 NULL
예시
사용 예시
toInt256OrZero
도입 버전: v20.8.0
입력 값을 Int256 타입으로 변환하되, 오류가 발생하면 0을 반환합니다.
toInt256과 동일하지만 예외를 발생시키는 대신 0을 반환합니다.
함께 보기:
구문
인자
반환값
변환된 입력값을 반환하며, 변환에 실패하면 0을 반환합니다. Int256
예시
사용 예시
변환 실패 시 0을 반환
toInt32
도입 버전: v1.1.0
입력값을 Int32 타입의 값으로 변환합니다.
오류가 발생하면 예외를 던집니다.
지원되는 인수:
- (U)Int* 타입의 값 또는 문자열 표현.
- Float* 타입의 값.
지원되지 않는 인수:
NaN,Inf를 포함한 Float* 값의 문자열 표현.SELECT toInt32('0xc0fe');와 같은 2진수 및 16진수 값의 문자열 표현.
입력값을 Int32의 범위 내에서 표현할 수 없는 경우 결과가 오버플로나 언더플로가 발생합니다.
이는 오류로 간주되지 않습니다.
예: SELECT toInt32(2147483648) == -2147483648;
이 함수는 0을 향한 반올림을 사용하며, 이는 숫자의 소수 자릿수를 잘라낸다는 의미입니다.
함께 보기:
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 표현식입니다.Expression
반환 값
32비트 정수 값을 반환합니다. Int32
예제
사용 예제
toInt32OrDefault
도입 버전: v21.11.0
toInt32와 마찬가지로, 이 함수는 입력값을 Int32 타입의 값으로 변환하지만, 오류가 발생하면 기본값을 반환합니다.
default 값이 지정되지 않으면, 오류가 발생할 때 0이 반환됩니다.
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 표현식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.Int32
반환 값
성공한 경우 Int32 타입의 값을 반환하며, 그렇지 않은 경우 default 값이 전달되었다면 해당 값을, 전달되지 않았다면 0을 반환합니다. Int32
예시
성공적인 변환
변환 실패
toInt32OrNull
도입된 버전: v1.1.0
toInt32와 같이 이 함수는 입력값을 Int32 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
지원되는 인수:
- (U)Int*의 문자열 표현.
지원되지 않는 인수 (NULL을 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.- 예를 들어
SELECT toInt32OrNull('0xc0fe');와 같은 이진수 및 16진수 값의 문자열 표현.
입력값을 Int32의 범위 내에서 표현할 수 없으면 결과에 오버플로우 또는 언더플로우가 발생합니다. 이는 오류로 간주되지 않습니다.
함께 보기:
구문
인자
x— 숫자를 나타내는 String 표현입니다.String
반환 값
Int32 타입의 값을 반환하며, 변환에 실패한 경우에는 NULL을 반환합니다. Int32 또는 NULL
예시
사용 예시
toInt32OrZero
도입 버전: v1.1.0
toInt32와 마찬가지로, 이 함수는 입력값을 Int32 타입의 값으로 변환하지만, 오류가 발생한 경우 0을 반환합니다.
지원되는 인수:
- (U)Int*의 문자열 표현.
지원되지 않는 인수(0 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.SELECT toInt32OrZero('0xc0fe');와 같은 2진수 및 16진수 값의 문자열 표현.
입력값을 Int32의 범위 안에서 표현할 수 없는 경우, 결과에서 오버플로우 또는 언더플로우가 발생합니다. 이는 오류로 간주되지 않습니다.
함께 보기:
Syntax
인자
x— 숫자를 나타내는 문자열입니다.String
반환 값
변환에 성공하면 Int32 타입의 값을 반환하고, 실패하면 0을 반환합니다. Int32
예시
사용 예시
toInt64
도입 버전: v1.1.0
입력 값을 Int64 타입 값으로 변환합니다.
오류가 발생하면 예외를 던집니다.
지원하는 인자:
- (U)Int* 타입의 값 또는 해당 값의 문자열 표현.
- Float* 타입의 값.
지원하지 않는 인자:
NaN및Inf를 포함한 Float* 값의 문자열 표현.SELECT toInt64('0xc0fe');와 같은 이진수 및 16진수 값의 문자열 표현.
입력 값을 Int64의 범위 내에서 표현할 수 없으면 결과에 오버플로 또는 언더플로가 발생합니다.
이는 오류로 간주되지 않습니다.
예: SELECT toInt64(9223372036854775808) == -9223372036854775808;
이 함수는 0 방향으로 반올림을 사용하며, 이는 숫자의 소수 자릿수를 잘라낸다는 의미입니다.
함께 보기:
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 식입니다. 지원: (U)Int* 형식의 값 및 해당 문자열 표현, Float* 형식의 값. 지원되지 않음: NaN 및 Inf를 포함한 Float* 값의 문자열 표현, 2진수 및 16진수 값의 문자열 표현.Expression
반환 값
64비트 정수 값을 반환합니다. Int64
예시
사용 예시
toInt64OrDefault
도입 버전: v21.11.0
toInt64와 마찬가지로, 이 FUNCTION은 입력값을 Int64 타입 값으로 변환하지만, 오류가 발생한 경우 기본값을 반환합니다.
default 값이 지정되지 않으면 오류 발생 시 0이 반환됩니다.
구문
인수(Arguments)
expr— 숫자 또는 숫자를 나타내는 문자열을 결과로 내는 식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.Int64
반환 값(Returned value)
성공하면 Int64 타입의 값을 반환하고, 그렇지 않은 경우 전달된 기본값이 있으면 그 값을, 없으면 0을 반환합니다. Int64
예시(Examples)
성공적인 변환(Successful conversion)
변환 실패
toInt64OrNull
도입된 버전: v1.1.0
toInt64와 마찬가지로 이 FUNCTION은 입력 값을 Int64 타입의 값으로 변환하되, 오류가 발생한 경우 NULL을 반환합니다.
지원되는 인수:
- (U)Int*의 문자열 표현.
지원되지 않는 인수(NULL 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.SELECT toInt64OrNull('0xc0fe');와 같은 이진수 및 16진수 값의 문자열 표현.
입력 값을 Int64의 범위 내에서 표현할 수 없는 경우, 결과에 오버플로 또는 언더플로가 발생합니다. 이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수
x— 숫자를 나타내는 문자열(String)입니다.String
반환 값
변환에 성공하면 Int64 타입의 값을 반환하고, 실패하면 NULL을 반환합니다. Int64 또는 NULL
예시
사용 예시
toInt64OrZero
도입 버전: v1.1.0
입력 값을 Int64 타입으로 변환하지만, 오류가 발생하면 0을 반환합니다.
toInt64와 동일하지만, 예외를 발생시키는 대신 0을 반환합니다.
함께 보기:
구문
인자
반환 값
변환된 입력값을 반환하고, 변환에 실패하면 0을 반환합니다. Int64
예시
사용 예시
변환 실패 시 0을 반환합니다
toInt8
도입 버전: v1.1.0
입력값을 Int8 타입의 값으로 변환합니다.
오류가 발생하면 예외를 던집니다.
지원되는 인수:
- (U)Int* 타입 값 또는 해당 값의 문자열 표현.
- Float* 타입 값.
지원되지 않는 인수:
NaN및Inf를 포함한 Float* 값의 문자열 표현.- 이진수 및 16진수 값의 문자열 표현. 예:
SELECT toInt8('0xc0fe');.
입력값을 Int8 범위 내에서 표현할 수 없는 경우, 결과에 오버플로(overflow) 또는 언더플로(underflow)가 발생합니다.
이는 오류로 간주되지 않습니다.
예: SELECT toInt8(128) == -128;.
이 함수는 0 쪽으로의 반올림(rounding towards zero)을 사용하므로, 숫자의 소수 자릿수를 잘라냅니다.
함께 보기:
구문
인수
expr— 숫자 또는 숫자의 문자열 표현을 결과로 반환하는 식입니다.Expression
반환 값
8비트 정수 값을 반환합니다. Int8
예시
사용 예시
toInt8OrDefault
도입: v21.11.0
toInt8과 마찬가지로, 이 함수는 입력값을 Int8 타입의 값으로 변환하지만 오류가 발생한 경우 기본값을 반환합니다.
default 값을 전달하지 않으면 오류가 발생했을 때 0이 반환됩니다.
구문
인자
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 표현식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.Int8
반환 값
성공한 경우 Int8 타입의 값을 반환하고, 그렇지 않은 경우 전달된 기본값을 반환하며, 기본값이 없으면 0을 반환합니다. Int8
예시
성공적인 변환
형 변환 실패
toInt8OrNull
도입 버전: v1.1.0
toInt8와 마찬가지로 이 함수는 입력 값을 Int8 타입의 값으로 변환하지만, 오류가 발생한 경우 NULL을 반환합니다.
지원되는 인수:
- (U)Int*의 문자열 표현.
지원되지 않는 인수(NULL 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.- 이진 및 16진 값의 문자열 표현(예:
SELECT toInt8OrNull('0xc0fe');).
입력 값을 Int8의 범위 내에서 표현할 수 없으면 결과에 오버플로 또는 언더플로가 발생합니다. 이는 오류로 간주되지 않습니다.
같이 보기:
구문
인자
x— 숫자를 나타내는 문자열입니다.String
반환 값
변환이 성공하면 Int8 타입의 값을, 실패하면 NULL을 반환합니다. Int8 또는 NULL
예시
사용 예시
toInt8OrZero
도입된 버전: v1.1.0
toInt8과(와) 마찬가지로, 이 함수는 입력값을 Int8 타입의 값으로 변환하지만, 오류가 발생하는 경우 0을 반환합니다.
지원되는 인수:
- (U)Int*의 문자열 표현.
지원되지 않는 인수(0 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.- 이진수 및 16진수 값의 문자열 표현, 예:
SELECT toInt8OrZero('0xc0fe');.
입력값을 Int8의 범위 내에서 표현할 수 없으면 결과에 오버플로우 또는 언더플로우가 발생합니다. 이는 오류로 간주되지 않습니다.
함께 보기:
문법
인수
x— 숫자를 나타내는 문자열(String)입니다.String
반환 값
성공 시 Int8 타입의 값을 반환하며, 변환에 실패하면 0을 반환합니다. Int8
예시
사용 예시
toInterval
도입 버전: v25.4.0
숫자 값과 단위 문자열을 사용하여 Interval 값을 생성합니다.
이 함수는 단위를 문자열 인자로 지정하여, 서로 다른 타입의 Interval(초, 분, 시, 일, 주, 월, 분기, 연)을 하나의 함수로 생성할 수 있는 통합된 방식을 제공합니다. 단위 문자열은 대소문자를 구분하지 않습니다.
이는 toIntervalSecond, toIntervalMinute, toIntervalDay 등과 같은 타입별 함수를 호출하는 것과 동일하지만,
단위를 문자열 매개변수로 동적으로 지정할 수 있도록 합니다.
구문
인수
value— 단위의 개수를 나타내는 숫자 값입니다. 모든 숫자형 데이터 타입을 사용할 수 있습니다.Int8또는Int16또는Int32또는Int64또는UInt8또는UInt16또는UInt32또는UInt64또는Float32또는Float64unit— 시간 단위입니다. 반드시 상수 문자열이어야 합니다. 유효한 값: 'nanosecond', 'microsecond', 'millisecond', 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter', 'year'.String
반환 값
지정된 타입의 Interval 값을 반환합니다. 결과 타입은 단위에 따라 달라지며 IntervalNanosecond, IntervalMicrosecond, IntervalMillisecond, IntervalSecond, IntervalMinute, IntervalHour, IntervalDay, IntervalWeek, IntervalMonth, IntervalQuarter, IntervalYear 중 하나입니다. Interval
예시
서로 다른 단위를 사용해 Interval 생성하기
날짜 연산에 Interval 사용하기
Interval을 동적으로 생성하기
toIntervalDay
도입 버전: v1.1.0
IntervalDay 데이터 타입의 n일 간격 값을 반환합니다.
구문
인수(Arguments)
반환 값(Returned value)
n일의 interval(기간)을 반환합니다. Interval
예시(Examples)
사용 예시(Usage example)
toIntervalHour
도입된 버전: v1.1.0
IntervalHour 데이터 타입의 n시간 간격(interval)을 반환합니다.
구문
인수
반환 값
n 시간의 간격(interval)을 반환합니다. Interval
예제
사용 예제
toIntervalMicrosecond
도입 버전: v22.6.0
IntervalMicrosecond 데이터 타입의 n 마이크로초 길이 interval을 반환합니다.
구문
인수
반환 값
n 마이크로초에 해당하는 Interval 값을 반환합니다. Interval
예시
사용 예시
toIntervalMillisecond
도입 버전: v22.6.0
데이터 타입 IntervalMillisecond의 n밀리초 간격(interval)을 반환합니다.
구문
인자
반환 값
n 밀리초 길이의 interval을 반환합니다. Interval
예시
사용 예시
toIntervalMinute
도입 버전: v1.1.0
IntervalMinute 데이터 타입의 n분 길이 인터벌 값을 반환합니다.
문법
인수
반환 값
n분의 Interval을 반환합니다. Interval
예시
사용 예시
toIntervalMonth
도입 버전: v1.1.0
IntervalMonth 데이터 타입의 n개월 간격(interval)을 반환합니다.
구문
인수
반환 값
n개월에 해당하는 Interval을 반환합니다. Interval
예시
사용 예시
toIntervalNanosecond
도입된 버전: v22.6.0
데이터 타입 IntervalNanosecond의 n 나노초 길이 구간(interval)을 반환합니다.
문법
인수
반환 값
n 나노초 길이의 interval을 반환합니다. Interval
예시
사용 예시
toIntervalQuarter
도입된 버전: v1.1.0
데이터 타입 IntervalQuarter의 n분기 간격(interval)을 반환합니다.
구문
인수
반환 값
n개의 분기로 구성된 Interval을 반환합니다. Interval
예제
사용 예제
toIntervalSecond
도입 버전: v1.1.0
IntervalSecond 데이터 타입의 n초 길이 간격(interval)을 반환합니다.
구문
인수
반환값
n초에 해당하는 Interval을 반환합니다. Interval
예시
사용 예시
toIntervalWeek
도입된 버전: v1.1.0
데이터 타입 IntervalWeek의 n주 구간(interval)을 반환합니다.
구문
인수
반환 값
n주에 해당하는 Interval을 반환합니다. Interval
예시
사용 예시
toIntervalYear
도입 버전: v1.1.0
IntervalYear 데이터 타입의 n년 기간(interval)을 반환합니다.
구문
인자
반환 값
n년을 나타내는 interval을 반환합니다. Interval
예시
사용 예시
toLowCardinality
도입 버전: v18.12.0
입력 인수를 동일한 데이터 타입의 LowCardinality 버전으로 변환합니다.
LowCardinality 데이터 타입을 일반 데이터 타입으로 변환하려면 CAST FUNCTION을 사용하십시오.
예: CAST(x AS String).
구문
인수
expr— 지원되는 데이터 타입 중 하나의 값을 결과로 생성하는 식입니다.String또는FixedString또는Date또는DateTime또는(U)Int*또는Float*
반환값
입력값을 LowCardinality 데이터 타입으로 변환하여 반환합니다. LowCardinality
예시
사용 예시
toString
도입 버전: v1.1.0
값을 문자열 표현으로 변환합니다. DateTime 인자를 사용하는 경우, 이 함수는 두 번째 인자로 시간대 이름을 포함하는 String 인자를 받을 수 있습니다.
구문
인수
반환 값
입력 값을 문자열 표현으로 반환합니다. String
예시
사용 예시
toStringCutToZero
도입 버전: v1.1.0
String 또는 FixedString 인수를 받아, 첫 번째 null 바이트에서 원본 문자열을 잘라 복사한 String을 반환합니다.
null 바이트(\0)는 문자열 종료 문자로 간주됩니다. 이 함수는 null 바이트가 의미 있는 내용의 끝을 표시하는 C 스타일의 문자열 또는 이진 데이터를 처리할 때 유용합니다.
구문
인수(Arguments)
s— 처리할 대상인 String 또는 FixedString 값입니다.String또는FixedString
반환 값(Returned value)
첫 번째 null 바이트 앞까지의 문자만 포함하는 String 값을 반환합니다. String
예시(Examples)
사용 예시(Usage example)
toTime
도입 버전: v1.1.0
입력 값을 Time 타입으로 변환합니다.
String, FixedString, DateTime 또는 자정 이후 경과 초(second)를 나타내는 숫자 타입에서의 변환을 지원합니다.
구문
인수
x— 변환할 입력 값입니다.String또는FixedString또는DateTime또는(U)Int*또는Float*
반환 값
변환된 값을 반환합니다. Time
예제
String을 Time으로 변환
DateTime을 Time으로 변환
정수를 Time으로 변환
toTime64
도입된 버전: v25.6.0
입력 값을 Time64 타입으로 변환합니다. String, FixedString, DateTime64, 또는 자정 이후 경과한 마이크로초 수를 나타내는 숫자 타입에서의 변환을 지원합니다. 시간 값에 대해 마이크로초 단위의 정밀도를 제공합니다.
구문
인수
x— 변환할 입력값입니다.String또는FixedString또는DateTime64또는(U)Int*또는Float*
반환 값
마이크로초 단위 정밀도로 변환된 입력값을 반환합니다. Time64(6)
예제
String을 Time64로 변환
DateTime64를 Time64로 변환
정수를 Time64로 변환
toTime64OrNull
도입 버전: v25.6.0
입력 값을 Time64 타입의 값으로 변환하지만, 오류가 발생하면 NULL을 반환합니다.
toTime64와 유사하지만, 변환 오류 시 예외를 발생시키는 대신 NULL을 반환합니다.
참고:
구문
인수
x— 소수점 이하(서브초) 정밀도를 포함하는 시간의 문자열 표현입니다.String
반환 값
성공한 경우 Time64 값을, 그렇지 않은 경우 NULL을 반환합니다. Time64 또는 NULL
예시
사용 예시
toTime64OrZero
도입 버전: v25.6.0
입력 값을 Time64 타입 값으로 변환하지만, 오류가 발생하면 00:00:00.000을 반환합니다.
toTime64와 유사하지만, 변환 오류 시 예외를 발생시키는 대신 00:00:00.000을 반환합니다.
구문
인수
x— 소수점 이하 초 단위 정밀도의 시간을 나타내는 문자열입니다.String
반환 값
성공하면 Time64 값을, 그렇지 않으면 00:00:00.000을 반환합니다. Time64
예시
사용 예시
toTimeOrNull
도입된 버전: v1.1.0
입력 값을 Time 타입의 값으로 변환하지만, 오류가 발생한 경우 NULL을 반환합니다.
toTime과 유사하지만, 변환 오류 시 예외를 발생시키는 대신 NULL을 반환합니다.
함께 보기:
구문
인수
x— 시간을 나타내는 문자열입니다.String
반환 값
성공하면 Time 값을, 실패하면 NULL을 반환합니다. Time 또는 NULL
예시
사용 예시
toTimeOrZero
도입된 버전: v1.1.0
입력 값을 Time 타입 값으로 변환하지만, 오류가 발생하면 00:00:00을 반환합니다.
toTime과 비슷하지만, 변환 오류 시 예외를 발생시키는 대신 00:00:00을 반환합니다.
구문
인수
x— 시간을 나타내는 문자열입니다.String
반환 값
성공하면 Time 값을, 그렇지 않으면 00:00:00을 반환합니다. Time
예시
사용 예시
toUInt128
도입된 버전: v1.1.0
입력 값을 UInt128 타입의 값으로 변환합니다.
오류가 발생하면 예외를 발생시킵니다.
이 함수는 0을 향한 반올림을 사용하며, 숫자의 소수 자릿수를 잘라냅니다.
지원되는 인수:
- (U)Int* 타입 값 또는 해당 문자열 표현.
- Float* 타입 값.
지원되지 않는 인수:
NaN,Inf를 포함한 Float* 값의 문자열 표현.SELECT toUInt128('0xc0fe');와 같은 2진수 및 16진수 값의 문자열 표현.
입력 값을 UInt128의 범위 내에서 표현할 수 없는 경우, 결과는 오버플로 또는 언더플로가 발생합니다. 이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 표현식입니다.Expression
반환 값
128비트 부호 없는 정수 값을 반환합니다. UInt128
예제
사용 예제
toUInt128OrDefault
도입된 버전: v21.11.0
toUInt128과(와) 마찬가지로, 이 FUNCTION은 입력값을 UInt128 타입의 값으로 변환하지만, 오류가 발생할 경우 기본값을 반환합니다.
default 값이 지정되지 않으면 오류가 발생했을 때 0이 반환됩니다.
구문
인자
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.UInt128
반환값
성공한 경우 UInt128 타입의 값을 반환하고, 그렇지 않은 경우 전달된 기본값이 있으면 해당 값을, 없으면 0을 반환합니다. UInt128
예시
성공적인 변환
변환 실패
toUInt128OrNull
도입된 버전: v21.6.0
toUInt128과 같이, 이 함수는 입력 값을 UInt128 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
지원되는 인수:
- (U)Int*의 문자열 표현.
지원되지 않는 인수 (NULL 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.SELECT toUInt128OrNull('0xc0fe');와 같은 이진수 및 16진수 값의 문자열 표현.
입력 값을 UInt128의 범위 내에서 표현할 수 없는 경우, 결과에서 오버플로 또는 언더플로가 발생합니다.
이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수
x— 숫자를 String 형태로 표현한 값입니다.String
반환 값
UInt128 타입의 값을 반환하며, 변환에 실패한 경우 NULL을 반환합니다. UInt128 또는 NULL
예시
사용 예시
toUInt128OrZero
도입 버전: v1.1.0
toUInt128과 마찬가지로, 이 함수는 입력 값을 UInt128 타입의 값으로 변환하지만, 오류가 발생하는 경우 0을 반환합니다.
지원되는 인자:
- (U)Int*의 문자열 표현
지원되지 않는 인자 (0 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현SELECT toUInt128OrZero('0xc0fe');와 같은 2진수 및 16진수 값의 문자열 표현
입력 값을 UInt128의 범위 내에서 표현할 수 없는 경우, 결과에 오버플로 또는 언더플로가 발생할 수 있습니다.
이는 오류로 간주되지 않습니다.
함께 보기:
구문
인자
x— 숫자를 나타내는 문자열입니다.String
반환 값
변환에 성공하면 UInt128 타입의 값을, 실패하면 0을 반환합니다. UInt128
예시
사용 예시
toUInt16
도입 버전: v1.1.0
입력 값을 UInt16 타입의 값으로 변환합니다.
오류가 발생하면 예외를 발생시킵니다.
지원되는 인수:
- (U)Int* 타입 값 또는 해당 타입의 문자열 표현.
- Float* 타입 값.
지원되지 않는 인수:
NaN,Inf를 포함한 Float* 값의 문자열 표현.SELECT toUInt16('0xc0fe');와 같은 이진수 및 16진수 값의 문자열 표현.
입력 값을 UInt16의 범위 내에서 표현할 수 없는 경우 결과가 오버플로우 또는 언더플로우됩니다.
이는 오류로 간주되지 않습니다.
예: SELECT toUInt16(65536) == 0;.
이 함수는 0을 향한 반올림을 사용하므로, 숫자의 소수 자릿수를 버립니다.
함께 보기:
Syntax
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 표현식입니다.Expression
반환 값
16비트 부호 없는 정수 값을 반환합니다. UInt16
예시
사용 예시
toUInt16OrDefault
도입 버전: v21.11.0
toUInt16과 마찬가지로 이 FUNCTION은 입력값을 UInt16 타입의 값으로 변환하지만, 오류가 발생한 경우 기본값을 반환합니다.
default 값이 전달되지 않으면 오류 발생 시 0을 반환합니다.
구문
인수
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 표현식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.UInt16
반환 값
성공하면 UInt16 타입의 값을 반환하며, 실패한 경우 전달된 기본값이 있으면 해당 값을, 없으면 0을 반환합니다. UInt16
예제
성공적인 변환
변환 실패
toUInt16OrNull
도입 버전: v1.1.0
toUInt16와 마찬가지로 이 함수는 입력값을 UInt16 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
지원되는 인수:
- (U)Int8/16/32/128/256의 문자열 표현.
지원되지 않는 인수(NULL 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.SELECT toUInt16OrNull('0xc0fe');와 같은 2진수 및 16진수 값의 문자열 표현.
입력값을 UInt16의 범위 내에서 표현할 수 없으면 결과에 오버플로 또는 언더플로가 발생합니다.
이때는 오류로 간주되지 않습니다.
함께 보기:
구문
인자
x— 숫자의 문자열(String) 표현입니다.String
반환 값
변환에 성공하면 UInt16 타입의 값을 반환하고, 변환에 실패하면 NULL을 반환합니다. UInt16 또는 NULL
예시
사용 예시
toUInt16OrZero
도입 버전: v1.1.0
toUInt16과 같이 이 함수는 입력 값을 UInt16 타입의 값으로 변환하지만, 오류가 발생한 경우 0을 반환합니다.
지원되는 인자:
- (U)Int8/16/32/128/256의 문자열 표현.
지원되지 않는 인자(0을 반환):
NaN과Inf를 포함한 Float* 값의 문자열 표현.- 이진수 및 16진수 값의 문자열 표현, 예:
SELECT toUInt16OrZero('0xc0fe');.
입력 값을 UInt16의 범위 안에서 표현할 수 없는 경우, 결과에 오버플로우 또는 언더플로우가 발생합니다.
이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수
x— 숫자의 문자열(String) 표현입니다.String
반환 값
변환에 성공하면 UInt16 타입의 값을 반환하고, 변환에 실패하면 0을 반환합니다. UInt16
예시
사용 예시
toUInt256
도입 버전: v1.1.0
입력 값을 UInt256 타입의 값으로 변환합니다.
오류가 발생하면 예외를 던집니다.
이 함수는 0 방향으로 반올림하므로, 숫자의 소수 자릿수를 잘라냅니다.
지원되는 인수:
- (U)Int* 타입의 값 또는 해당 문자열 표현.
- Float* 타입의 값.
지원되지 않는 인수:
NaN및Inf를 포함한 Float* 값의 문자열 표현.- 이진수 및 16진수 값의 문자열 표현, 예:
SELECT toUInt256('0xc0fe');.
입력 값을 UInt256의 범위 내에서 표현할 수 없으면 결과가 오버플로 또는 언더플로 됩니다.
이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 식입니다.Expression
반환 값
256비트 부호 없는 정수 값을 반환합니다. UInt256
예시
사용 예시
toUInt256OrDefault
도입 버전: v21.11.0
toUInt256와 같이, 이 FUNCTION은 입력 값을 UInt256 타입의 값으로 변환하지만 오류가 발생하면 기본값을 반환합니다.
default 값이 전달되지 않으면, 오류 발생 시 0이 반환됩니다.
구문
인자
expr— 숫자 또는 숫자의 문자열 표현을 반환하는 표현식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.UInt256
반환 값
성공하면 UInt256 타입의 값을 반환하고, 그렇지 않으면 기본값이 지정된 경우 해당 값을, 지정되지 않은 경우 0을 반환합니다. UInt256
예시
변환 성공
변환 실패
toUInt256OrNull
도입된 버전: v20.8.0
toUInt256과 마찬가지로 이 FUNCTION은 입력값을 UInt256 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
지원되는 인수:
- (U)Int* 값의 문자열 표현.
지원되지 않는 인수(NULL 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.- 이진 및 16진수 값의 문자열 표현(예:
SELECT toUInt256OrNull('0xc0fe');).
입력값을 UInt256의 범위 내에서 표현할 수 없으면 결과에 오버플로우 또는 언더플로우가 발생합니다.
이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수
x— 숫자를 나타내는 문자열입니다.String
반환 값
변환이 성공하면 UInt256 타입의 값을 반환하고, 실패하면 NULL을 반환합니다. UInt256 또는 NULL
예시
사용 예시
toUInt256OrZero
도입된 버전: v20.8.0
toUInt256와 유사하게, 이 함수는 입력값을 UInt256 타입의 값으로 변환하지만, 오류가 발생하는 경우 0을 반환합니다.
지원되는 인자:
- (U)Int* 값의 문자열 표현.
지원되지 않는 인자(0 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.- 예:
SELECT toUInt256OrZero('0xc0fe');와 같은 이진수 및 16진수 값의 문자열 표현.
입력값을 UInt256의 범위 내에서 표현할 수 없으면 결과에 오버플로 또는 언더플로가 발생하지만, 이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수
x— 숫자를 String으로 표현한 값입니다.String
반환 값
변환에 성공하면 UInt256 타입의 값을 반환하고, 실패하면 0을 반환합니다. UInt256
예시
사용 예시
toUInt32
도입 버전: v1.1.0
입력값을 UInt32 타입의 값으로 변환합니다.
오류가 발생하면 예외를 던집니다.
지원되는 인수:
- (U)Int* 타입의 값 또는 그 문자열 형태.
- Float* 타입의 값.
지원되지 않는 인수:
NaN및Inf를 포함한 Float* 값의 문자열 형태.SELECT toUInt32('0xc0fe');와 같은 이진 및 16진 값의 문자열 형태.
입력값을 UInt32 범위 내에서 표현할 수 없는 경우, 결과가 오버플로 또는 언더플로 됩니다.
이는 오류로 간주되지 않습니다.
예: SELECT toUInt32(4294967296) == 0;
이 함수는 0 방향 반올림을 사용하므로, 숫자의 소수 자릿수를 잘라냅니다.
관련 항목:
Syntax
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 식입니다.Expression
반환 값
32비트 부호 없는 정수 값을 반환합니다. UInt32
예시
사용 예시
toUInt32OrDefault
도입된 버전: v21.11.0
toUInt32와 마찬가지로 이 FUNCTION은 입력 값을 UInt32 타입의 값으로 변환하지만, 오류가 발생한 경우 기본값을 반환합니다.
default 값이 전달되지 않으면 오류가 발생했을 때 0이 반환됩니다.
구문
인자
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.UInt32
반환 값
변환에 성공하면 UInt32 타입의 값을 반환하며, 실패하면 기본값이 지정된 경우 해당 값을, 지정되지 않은 경우 0을 반환합니다. UInt32
예제
성공적인 변환
변환 실패
toUInt32OrNull
도입 버전: v1.1.0
toUInt32와 마찬가지로, 이 함수는 입력 값을 UInt32 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
지원되는 인수:
- (U)Int8/16/32/128/256의 문자열 표현.
지원되지 않는 인수(NULL 반환):
NaN및Inf를 포함한 Float* 타입 값의 문자열 표현.SELECT toUInt32OrNull('0xc0fe');와 같은 이진수 및 16진수 값을 나타내는 문자열.
입력 값을 UInt32의 범위 내에서 표현할 수 없는 경우, 결과에 오버플로 또는 언더플로가 발생합니다.
이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수(Arguments)
x— 숫자를 나타내는 문자열(String)입니다.String
반환 값(Returned value)
변환에 성공하면 UInt32 타입의 값을 반환하고, 변환에 실패하면 NULL을 반환합니다. UInt32 또는 NULL
예시(Examples)
사용 예시(Usage example)
toUInt32OrZero
도입 버전: v1.1.0
toUInt32와 마찬가지로, 이 함수는 입력값을 UInt32 타입의 값으로 변환하지만, 오류가 발생하는 경우 0을 반환합니다.
지원되는 인수:
- (U)Int8/16/32/128/256의 문자열 표현.
지원되지 않는 인수(0 반환):
NaN,Inf를 포함한 Float* 값의 문자열 표현.- 이진수 및 16진수 값의 문자열 표현(예:
SELECT toUInt32OrZero('0xc0fe');).
입력값을 UInt32의 범위 내에서 표현할 수 없는 경우, 결과에 오버플로 또는 언더플로가 발생합니다.
이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수
x— 숫자를 나타내는 문자열(String)입니다.String
반환 값
변환에 성공하면 UInt32 타입의 값을, 실패하면 0을 반환합니다. UInt32
예시
사용 예시
toUInt64
도입 버전: v1.1.0
입력 값을 UInt64 타입의 값으로 변환합니다.
오류가 발생하면 예외를 던집니다.
지원되는 인수:
- (U)Int* 타입 값 또는 해당 문자열 표현.
- Float* 타입 값.
지원되지 않는 타입:
NaN및Inf를 포함한 Float* 값의 문자열 표현.SELECT toUInt64('0xc0fe');와 같은 2진수 및 16진수 값의 문자열 표현.
입력 값을 UInt64 범위로 표현할 수 없는 경우, 결과가 오버플로 또는 언더플로 됩니다.
이는 오류로 간주되지 않습니다.
예: SELECT toUInt64(18446744073709551616) == 0;
이 함수는 0 방향으로 반올림(rounding towards zero)을 수행하므로, 숫자의 소수 자릿수를 잘라냅니다.
함께 보기:
구문
인수
expr— 숫자 또는 숫자 형식의 문자열을 반환하는 표현식입니다.Expression
반환 값
64비트 부호 없는 정수 값을 반환합니다. UInt64
예시
사용 예시
toUInt64OrDefault
도입 버전: v21.11.0
toUInt64와 마찬가지로 이 FUNCTION은 입력값을 UInt64 타입의 값으로 변환하지만, 오류가 발생한 경우 기본값을 반환합니다.
default 값이 전달되지 않은 경우에는 오류가 발생했을 때 0이 반환됩니다.
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 표현식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.UInt64
반환 값
성공하면 UInt64 타입의 값을 반환하고, 그렇지 않으면 기본값이 지정된 경우 해당 값을, 지정되지 않은 경우 0을 반환합니다. UInt64
예제
성공적인 변환
변환 실패
toUInt64OrNull
도입 버전: v1.1.0
toUInt64와 마찬가지로, 이 FUNCTION은 입력값을 UInt64 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
지원되는 인자:
- (U)Int*의 문자열 표현.
지원되지 않는 인자(NULL 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.- 이진수 및 16진수 값의 문자열 표현. 예:
SELECT toUInt64OrNull('0xc0fe');.
입력값을 UInt64의 범위 내에서 표현할 수 없는 경우 결과에 오버플로 또는 언더플로가 발생하지만, 이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수
x— 숫자를 나타내는 String입니다.String
반환값
변환에 성공하면 UInt64 타입의 값을, 실패하면 NULL을 반환합니다. UInt64 또는 NULL
예시
사용 예시
toUInt64OrZero
도입 버전: v1.1.0
toUInt64와 마찬가지로, 이 FUNCTION은 입력값을 UInt64 타입의 값으로 변환하지만, 오류가 발생하는 경우 0을 반환합니다.
지원되는 인수:
- (U)Int* 값의 문자열 표현.
지원되지 않는 인수(0 반환):
NaN및Inf를 포함한 Float* 값의 문자열 표현.SELECT toUInt64OrZero('0xc0fe');와 같은 2진수 및 16진수 값의 문자열 표현.
입력값을 UInt64의 범위 내에서 표현할 수 없는 경우, 결과에 오버플로 또는 언더플로가 발생합니다.
이는 오류로 간주되지 않습니다.
함께 보기:
구문
인수
x— 숫자를 나타내는 문자열(String)입니다.String
반환 값
UInt64 타입의 값을 반환하며, 변환에 실패하면 0을 반환합니다. UInt64
예시
사용 예시
toUInt8
도입 버전: v1.1.0
입력 값을 UInt8 타입의 값으로 변환합니다.
오류가 발생하면 예외를 던집니다.
지원되는 인수:
- 타입이 (U)Int*인 값 또는 해당 값의 문자열 표현.
- 타입이 Float*인 값.
지원되지 않는 인수:
NaN,Inf를 포함한 Float* 값의 문자열 표현.SELECT toUInt8('0xc0fe');와 같은 이진 및 16진수 값의 문자열 표현.
입력 값을 UInt8의 범위 내에서 표현할 수 없으면 결과에서 overflow 또는 underflow가 발생합니다.
이는 오류로 간주되지 않습니다.
예: SELECT toUInt8(256) == 0;.
이 함수는 0 쪽으로의 반올림(rounding towards zero)을 사용하므로, 숫자의 소수 자릿수를 잘라 냅니다.
함께 보기:
구문
매개변수
expr— 숫자 또는 숫자를 나타내는 문자열을 반환하는 식입니다.Expression
반환값
8비트 부호 없는 정수 값을 반환합니다. UInt8
예제
사용 예제
toUInt8OrDefault
도입 버전: v21.11.0
toUInt8와 마찬가지로, 이 함수는 입력값을 UInt8 타입의 값으로 변환하지만, 오류가 발생하면 기본값을 반환합니다.
default 값을 전달하지 않으면, 오류가 발생했을 때 0이 반환됩니다.
구문
인수
expr— 숫자 또는 숫자를 나타내는 문자열 표현을 반환하는 식입니다.String또는(U)Int*또는Float*default— 선택 사항입니다. 파싱에 실패했을 때 반환할 기본값입니다.UInt8
반환 값
변환에 성공하면 UInt8 타입의 값을 반환하며, 실패한 경우 default 인수가 전달되었으면 해당 값을, 전달되지 않았으면 0을 반환합니다. UInt8
예시
성공적인 변환
변환 실패
toUInt8OrNull
도입된 버전: v1.1.0
toUInt8와 같이, 이 FUNCTION은 입력 값을 UInt8 타입의 값으로 변환하지만, 오류가 발생하는 경우 NULL을 반환합니다.
지원되는 인자:
- (U)Int8/16/32/128/256의 문자열 표현.
지원되지 않는 인자 (NULL 반환):
- 일반적인 Float* 값의 문자열 표현 (
NaN및Inf포함). - 2진수 및 16진수 값의 문자열 표현. 예:
SELECT toUInt8OrNull('0xc0fe');.
입력 값을 UInt8의 범위 내에서 표현할 수 없으면 결과에 오버플로우 또는 언더플로우가 발생합니다.
이는 오류로 간주되지 않습니다.
함께 보기:
Syntax
인수
x— 숫자를 나타내는 String 형식의 값입니다.String
반환 값
변환이 성공하면 UInt8 타입의 값을, 그렇지 않으면 NULL을 반환합니다. UInt8 또는 NULL
예시
사용 예시
toUInt8OrZero
도입 버전: v1.1.0
toUInt8과 마찬가지로, 이 함수는 입력값을 UInt8 타입의 값으로 변환하지만, 오류가 발생하는 경우 0을 반환합니다.
지원되는 인수:
- (U)Int8/16/32/128/256의 문자열 표현.
지원되지 않는 인수 (0 반환):
- 일반적인 부동소수점(Float*) 값의 문자열 표현 (
NaN,Inf포함). - 이진 및 16진 값의 문자열 표현. 예:
SELECT toUInt8OrZero('0xc0fe');.
입력값이 UInt8의 범위 내에서 표현될 수 없는 경우, 결과에 오버플로우 또는 언더플로우가 발생합니다.
이는 오류로 간주되지 않습니다.
다음도 함께 참고하십시오:
구문
인수
x— 숫자를 나타내는 String 표현입니다.String
반환 값
변환에 성공하면 UInt8 타입의 값을 반환하고, 실패하면 0을 반환합니다. UInt8
예시
사용 예시
toUUID
도입 버전: v1.1.0
String 값을 UUID 값으로 변환합니다.
구문
인수
string— 문자열 형태의 UUID.String또는FixedString
반환 값
UUID의 문자열 표현에서 UUID 값을 반환합니다. UUID
예시
사용 예시
toUUIDOrZero
도입 버전: v20.12.0
입력 값을 UUID 타입의 값으로 변환하지만, 오류가 발생하는 경우 zero UUID를 반환합니다.
toUUID와 유사하지만, 변환 오류 시 예외를 발생시키는 대신 zero UUID (00000000-0000-0000-0000-000000000000)를 반환합니다.
지원되는 인수:
- 표준 형식의 UUID 문자열 표현(8-4-4-4-12개의 16진수 숫자).
- 하이픈이 없는 UUID 문자열 표현(32개의 16진수 숫자).
지원되지 않는 인수(zero UUID 반환):
- 잘못된 문자열 형식.
- 문자열이 아닌 타입.
구문
인수
x— UUID의 문자열 표현.String
반환 값
성공하면 UUID 값을 반환하고, 실패하면 0 UUID 값(00000000-0000-0000-0000-000000000000)을 반환합니다. UUID
예제
사용 예제
toUnixTimestamp64Micro
도입 버전: v20.5.0
DateTime64를 마이크로초 단위의 고정 정밀도를 갖는 Int64 값으로 변환합니다.
입력 값은 그 정밀도에 따라 적절히 확대 또는 축소되어 변환됩니다.
출력 값은 입력 값의 타임존이 아니라 UTC를 기준으로 합니다.
구문
인수
value— 임의의 정밀도를 가진 DateTime64 값입니다.DateTime64
반환 값
마이크로초 단위의 Unix 타임스탬프를 반환합니다. Int64
예시
사용 예시
toUnixTimestamp64Milli
도입된 버전: v20.5.0
DateTime64를 밀리초(ms) 단위의 고정 정밀도를 갖는 Int64 값으로 변환합니다.
입력 값은 정밀도에 따라 적절히 확대하거나 축소됩니다.
출력 값은 입력 값의 타임존이 아니라 UTC를 기준으로 합니다.
구문
인수
value— 임의의 정밀도를 가진 DateTime64 값.DateTime64
반환 값
밀리초 단위의 Unix 타임스탬프를 반환합니다. Int64
예시
사용 예시
toUnixTimestamp64Nano
도입된 버전: v20.5.0
DateTime64을(를) 고정 나노초 정밀도의 Int64 값으로 변환합니다.
입력 값은 정밀도에 따라 적절하게 확대 또는 축소됩니다.
출력 값은 입력 값의 타임존이 아니라 UTC를 기준으로 합니다.
구문
인수
value— 임의의 정밀도를 가진 DateTime64 값입니다.DateTime64
반환 값
나노초 단위의 Unix 타임스탬프를 반환합니다. Int64
예시
사용 예시
toUnixTimestamp64Second
도입 버전: v24.12.0
DateTime64를 초 단위 고정 정밀도의 Int64 값으로 변환합니다.
입력 값의 정밀도에 따라 값의 배율이 적절히 조정됩니다.
출력 값은 입력 값의 시간대가 아니라 UTC를 기준으로 합니다.
구문
인수
value— 임의의 정밀도를 가진 DateTime64 값입니다.DateTime64
반환 값
초 단위의 Unix 타임스탬프를 반환합니다. Int64
예시
사용 예시