Распространённые проблемы при преобразовании данных
to<type> и cast в некоторых случаях ведут себя по-разному, например для LowCardinality: cast удаляет признак LowCardinality, а функции to<type> — нет. То же самое и с Nullable: такое поведение несовместимо со стандартом SQL, и его можно изменить с помощью настройки cast_keep_nullable.
Учитывайте возможную потерю данных, если значения одного типа преобразуются в тип меньшего размера (например, из
Int64 в Int32) или между
несовместимыми типами данных (например, из String в Int). Обязательно внимательно проверяйте, соответствует ли результат ожидаемому.Примечания к функциям toString
toString позволяет преобразовывать числа, строки (но не строки фиксированной длины), даты и значения даты и времени.
Все эти функции принимают один аргумент.
- При преобразовании в строку или из строки значение форматируется или разбирается по тем же правилам, что и для формата TabSeparated (и почти всех остальных текстовых форматов). Если строку не удаётся разобрать, генерируется исключение, и запрос отменяется.
- При преобразовании дат в числа или наоборот дата соответствует количеству дней с начала эпохи Unix.
- При преобразовании значений даты и времени в числа или наоборот дата и время соответствуют количеству секунд с начала эпохи Unix.
- Функция
toStringдля аргументаDateTimeможет принимать второй аргумент типа String, содержащий имя часового пояса, например:Europe/Amsterdam. В этом случае время форматируется в соответствии с указанным часовым поясом.
Примечания к функциям toDate/toDateTime
toDate/toDateTime задаются следующим образом:
toDate(unix_timestamp), который в противном случае привёл бы к ошибке и потребовал бы использования более громоздкой конструкции toDate(toDateTime(unix_timestamp)).
Преобразование между датой и значением типа дата и время выполняется естественным образом: добавлением нулевого времени или отбрасыванием времени.
При преобразовании между числовыми типами используются те же правила, что и при присваивании между различными числовыми типами в C++.
Пример
Query
Response
toUnixTimestamp.
CAST
Any
Примеры
Базовое использование
Query
Response
Query
Response
Query
Response
DATE
toDate для совместимости с MySQL. Работает так же, как toDate.
Синтаксис
Date
Примеры
Базовое использование
Query
Response
accurateCast
CAST, accurateCast выполняет более строгую проверку типов и генерирует исключение, если преобразование приводит к потере точности данных или если такое преобразование невозможно.
Эта функция безопаснее обычного CAST, поскольку предотвращает потерю точности и недопустимые преобразования.
Синтаксис
Any
Примеры
Успешное преобразование
Query
Response
Query
Response
accurateCastOrDefault
accurateCast, но, если преобразование нельзя выполнить без потери точности, возвращает значение по умолчанию вместо того, чтобы генерировать исключение.
Если значение по умолчанию передаётся вторым аргументом, оно должно иметь целевой тип.
Если значение по умолчанию не указано, используется значение по умолчанию для целевого типа.
Синтаксис
x— Значение для преобразования.AnyT— Имя целевого типа данных.const Stringdefault_value— Необязательный параметр. Значение по умолчанию, которое возвращается, если преобразование не удалось.Any
Any
Примеры
Успешное преобразование
Query
Response
Query
Response
Query
Response
accurateCastOrNull
accurateCast, но возвращает NULL вместо того, чтобы генерировать исключение, если преобразование нельзя выполнить без потери точности.
Эта функция сочетает безопасность accurateCast с удобной обработкой ошибок.
Синтаксис
NULL, если преобразование невозможно. Any
Примеры
Успешное преобразование
Query
Response
Query
Response
formatRow
Если формат содержит суффикс/префикс, они будут записываться в каждой строке.
В этой функции поддерживаются только построчные форматы.
String
Примеры
Базовое использование
Query
Response
Query
Response
formatRowNoNewline
formatRow, но без символа новой строки в конце каждой строки.
Преобразует произвольные выражения в строку в указанном формате, но удаляет из результата все конечные символы новой строки.
Синтаксис
String
Примеры
Базовое использование
Query
Response
fromUnixTimestamp64Micro
DateTime64 с точностью до микросекунд.
Входное значение интерпретируется как Unix-временная метка с микросекундной точностью (число микросекунд с 1970-01-01 00:00:00 UTC).
Синтаксис
value— Unix-временная метка в микросекундах.Int64timezone— Необязательно. Часовой пояс возвращаемого значения.String
DateTime64 с точностью до микросекунд. DateTime64(6)
Примеры
Пример использования
Query
Response
fromUnixTimestamp64Milli
DateTime64 с миллисекундной точностью.
Входное значение интерпретируется как Unix-временная метка с миллисекундной точностью (количество миллисекунд, прошедших с 1970-01-01 00:00:00 UTC).
Синтаксис
value— Unix-временная метка в миллисекундах.Int64timezone— Необязательный параметр. Часовой пояс возвращаемого значения.String
DateTime64 с точностью до миллисекунд. DateTime64(3)
Примеры
Пример использования
Query
Response
fromUnixTimestamp64Nano
DateTime64 с точностью до наносекунд.
Входное значение интерпретируется как Unix-временная метка с точностью до наносекунд (количество наносекунд, прошедших с 1970-01-01 00:00:00 UTC).
Обратите внимание: входное значение интерпретируется как временная метка в UTC, а не в часовом поясе входного значения.
value— Unix-временная метка в наносекундах.Int64timezone— Необязательно. Часовой пояс возвращаемого значения.String
DateTime64 с точностью до наносекунд. DateTime64(9)
Примеры
Пример использования
Query
Response
fromUnixTimestamp64Second
DateTime64 с точностью до секунд.
Входное значение интерпретируется как Unix-временная метка с точностью до секунд (количество секунд с 1970-01-01 00:00:00 UTC).
Синтаксис
value— Unix-временная метка в секундах.Int64timezone— Необязательный. Часовой пояс для возвращаемого значения.String
DateTime64 с точностью до секунды. DateTime64(0)
Примеры
Пример использования
Query
Response
parseDateTime
formatDateTime.
Она разбирает аргумент типа String, используя строку формата String. Возвращает значение типа DateTime.
Синтаксис
TO_UNIXTIME
Аргументы
time_string— Строка, которую нужно разобрать в DateTime.Stringformat— Строка формата, определяющая, как разбирать time_string.Stringtimezone— Необязательно. Часовой пояс.String
DateTime
Примеры
Пример использования
Query
Response
parseDateTime32BestEffort
DateTime.
Функция разбирает даты и время в форматах ISO 8601, RFC 1123 - 5.2.14 RFC-822 Date and Time Specification, ClickHouse и некоторых других форматах.
Синтаксис
time_string— СтрокаString, содержащая дату и время для преобразования.Stringtime_zone— Необязательный. Часовой пояс, в соответствии с которым разбираетсяtime_string.String
time_string в формате DateTime. DateTime
Примеры
Пример использования
Query
Response
Query
Response
Query
Response
parseDateTime32BestEffortOrNull
parseDateTime32BestEffort, но при обнаружении формата даты, который невозможно обработать, функция возвращает NULL.
Синтаксис
time_string— СтрокаString, содержащая дату и время для преобразования.Stringtime_zone— Необязательно. Часовой пояс, в соответствии с которым разбираетсяtime_string.String
DateTime, разобранный из строки, или NULL, если разобрать строку не удалось. DateTime
Примеры
Пример использования
Query
Response
parseDateTime32BestEffortOrZero
parseDateTime32BestEffort, но при встрече с неподдерживаемым форматом даты функция возвращает нулевую дату или нулевое значение дата-время.
Синтаксис
time_string— Строка с датой и временем для преобразования.Stringtime_zone— Необязательно. Часовой пояс, в соответствии с которым разбираетсяtime_string.String
DateTime, полученный при разборе строки, или нулевую дату (1970-01-01 00:00:00), если разбор не удался. DateTime
Примеры
Пример использования
Query
Response
parseDateTime64
formatDateTime для DateTime64.
Она разбирает аргумент типа String с помощью строки формата String. Возвращает тип DateTime64, который может представлять даты с 1900 по 2299 год с точностью до долей секунды.
Синтаксис
time_string— Строка, которую нужно разобрать как DateTime64.Stringformat— Строка формата, задающая способ разбора time_string.Stringtimezone— Необязательно. Часовой пояс.String
DateTime64
Примеры
Пример использования
Query
Response
parseDateTime64BestEffort
parseDateTimeBestEffort, но также разбирает миллисекунды и микросекунды и возвращает тип данных DateTime64.
Синтаксис
time_string— Строка, содержащая дату или дату и время для преобразования.Stringprecision— Необязательно. Требуемая точность.3для миллисекунд,6для микросекунд. По умолчанию:3.UInt8time_zone— Необязательно. Часовой пояс. Функция разбираетtime_stringс учетом часового пояса.String
time_string, преобразованную в тип данных DateTime64. DateTime64
Примеры
Пример использования
Query
Response
parseDateTime64BestEffortOrNull
parseDateTime64BestEffort, но возвращает NULL, если встречает формат даты, который невозможно обработать.
Синтаксис
time_string— Строка, содержащая дату или дату и время для преобразования.Stringprecision— Необязательно. Требуемая точность.3для миллисекунд,6для микросекунд. По умолчанию:3.UInt8time_zone— Необязательно. Часовой пояс. Функция разбираетtime_stringв соответствии с часовым поясом.String
time_string, преобразованную в DateTime64, или NULL, если входное значение не удаётся разобрать. DateTime64 или NULL
Примеры
Пример использования
Query
Response
parseDateTime64BestEffortOrZero
parseDateTime64BestEffort, за исключением того, что функция возвращает нулевую дату или нулевое значение дата-время, если встречает формат даты, который не может быть обработан.
Синтаксис
time_string— Строка, содержащая дату или дату и время для преобразования.Stringprecision— Необязательно. Требуемая точность.3для миллисекунд,6для микросекунд. По умолчанию:3.UInt8time_zone— Необязательно. Часовой пояс. Функция разбираетtime_stringс учетом этого часового пояса.String
time_string, преобразованное в DateTime64, или нулевую дату/дату и время (1970-01-01 00:00:00.000), если входное значение не удается разобрать. DateTime64
Примеры
Пример использования
Query
Response
parseDateTime64BestEffortUS
parseDateTime64BestEffort, но в неоднозначных случаях эта функция отдает предпочтение американскому формату даты (MM/DD/YYYY и т. д.).
Синтаксис
time_string— СтрокаString, содержащая дату или дату и время для преобразования.Stringprecision— Необязательно. Требуемая точность.3для миллисекунд,6для микросекунд. По умолчанию:3.UInt8time_zone— Необязательно. Часовой пояс. Функция разбираетtime_stringв соответствии с указанным часовым поясом.String
time_string, преобразованную в DateTime64, с предпочтением американского формата даты в неоднозначных случаях. DateTime64
Примеры
Пример использования
Query
Response
parseDateTime64BestEffortUSOrNull
parseDateTime64BestEffort, но в неоднозначных случаях эта функция отдаёт предпочтение американскому формату даты (MM/DD/YYYY и т. д.) и возвращает NULL, если встречает формат даты, который не может быть обработан.
Синтаксис
time_string— Строка, содержащая дату или дата и время для преобразования.Stringprecision— Необязательный параметр. Требуемая точность.3для миллисекунд,6для микросекунд. По умолчанию:3.UInt8time_zone— Необязательный параметр. Часовой пояс. Функция разбираетtime_stringв соответствии с этим часовым поясом.String
time_string, преобразованную в DateTime64 с приоритетом формата US, или NULL, если входное значение не удаётся разобрать. DateTime64 или NULL
Примеры
Пример использования
Query
Response
parseDateTime64BestEffortUSOrZero
parseDateTime64BestEffort, но в неоднозначных случаях эта функция предпочитает американский формат даты (MM/DD/YYYY и т. д.) и возвращает нулевую дату или нулевое значение даты-времени, если встречает формат даты, который не может быть обработан.
Синтаксис
time_string— Строка, содержащая дату или дату и время для преобразования.Stringprecision— Необязательно. Требуемая точность:3для миллисекунд,6для микросекунд. По умолчанию:3.UInt8time_zone— Необязательно. Часовой пояс. Функция разбираетtime_stringв соответствии с этим часовым поясом.String
time_string, преобразованную в DateTime64 с предпочтением американского формата, или нулевую дату/дату и время (1970-01-01 00:00:00.000), если входное значение не удаётся разобрать. DateTime64
Примеры
Пример использования
Query
Response
parseDateTime64InJodaSyntax
formatDateTimeInJodaSyntax для DateTime64.
Она разбирает аргумент типа String, используя строку формата в стиле Joda. Возвращает значение типа DateTime64, которое может представлять даты с 1900 по 2299 год с точностью до долей секунды.
Описание шаблонов формата см. в документации Joda Time.
Синтаксис
time_string— СтрокаString, которую нужно разобрать в DateTime64.Stringformat— Строка формата в синтаксисе Joda, задающая способ разбора time_string.Stringtimezone— Необязательно. Часовой пояс.String
DateTime64
Примеры
Пример использования
Query
Response
parseDateTime64InJodaSyntaxOrNull
parseDateTime64InJodaSyntax, но возвращает NULL, если указан неподдающийся разбору формат даты.
Синтаксис
time_string— строка, которую нужно разобрать как DateTime64.Stringformat— строка формата в синтаксисе Joda, задающая способ разбора time_string.Stringtimezone— необязательный параметр. Часовой пояс.String
Nullable(DateTime64)
Примеры
Пример использования
Query
Response
parseDateTime64InJodaSyntaxOrZero
parseDateTime64InJodaSyntax, но при неподдающемся разбору формате даты возвращает нулевую дату.
Синтаксис
time_string— СтрокаString, которую нужно преобразовать в DateTime64.Stringformat— Строка формата в синтаксисе Joda, задающая способ разбора time_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
DateTime64
Примеры
Пример использования
Query
Response
parseDateTime64OrNull
parseDateTime64, но возвращает NULL, если встречается неподдающийся разбору формат даты.
Синтаксис
time_string— Строка, которую нужно разобрать как DateTime64.Stringformat— Строка формата, задающая способ разбора time_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
Nullable(DateTime64)
Примеры
Пример использования
Query
Response
parseDateTime64OrZero
parseDateTime64, но возвращает нулевую дату, если встречает неподдающийся разбору формат даты.
Синтаксис
time_string— Строка, которую нужно разобрать в DateTime64.Stringformat— Строка формата, задающая, как разобрать time_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
DateTime64
Примеры
Пример использования
Query
Response
parseDateTimeBestEffort
- Строка, содержащая 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и т. д. - Строка с днем и временем:
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
Примеры
Пример использования
Query
Response
Query
Response
Query
Response
parseDateTimeBestEffortOrNull
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и т. д. - Строка с днем и временем:
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
Примеры
Пример использования
Query
Response
parseDateTimeBestEffortOrZero
parseDateTimeBestEffort, за исключением того, что функция возвращает нулевую дату или нулевое значение дата-времени, если встречает формат даты, который не может быть обработан.
Функция разбирает 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и т. д. - Строка с днём и временем:
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— СтрокаString, содержащая дату и время для преобразования.Stringtime_zone— Необязательно. Часовой пояс, в соответствии с которым разбираетсяtime_string.String
time_string в формате DateTime или нулевую дату/дату-время (1970-01-01 или 1970-01-01 00:00:00), если входное значение не удаётся разобрать. DateTime
Примеры
Пример использования
Query
Response
parseDateTimeBestEffortUS
parseDateTimeBestEffort для дат в формате ISO, например YYYY-MM-DD hh:mm:ss, а также для других форматов даты, где месяц и день можно определить однозначно, например YYYYMMDDhhmmss, YYYY-MM, DD hh или YYYY-MM-DD hh:mm:ss ±h:mm.
Если месяц и день нельзя определить однозначно, например в MM/DD/YYYY, MM-DD-YYYY или MM-DD-YY, функция отдаёт предпочтение американскому формату даты, а не DD/MM/YYYY, DD-MM-YYYY или DD-MM-YY.
Исключение из этого правила: если значение месяца больше 12 и меньше либо равно 31, функция возвращается к поведению parseDateTimeBestEffort; например, 15/08/2020 разбирается как 2020-08-15.
Синтаксис
time_string—Stringс датой и временем для преобразования.Stringtime_zone— Необязательно. Часовой пояс, в соответствии с которым разбираетсяtime_string.String
time_string в виде DateTime, отдавая предпочтение американскому формату даты в неоднозначных случаях. DateTime
Примеры
Пример использования
Query
Response
parseDateTimeBestEffortUSOrNull
parseDateTimeBestEffortUS, за исключением того, что при обнаружении формата даты, который не удается обработать, она возвращает NULL.
Для форматов дат ISO эта функция ведет себя как parseDateTimeBestEffort, но в неоднозначных случаях предпочитает американский формат даты и при ошибках разбора возвращает NULL.
Синтаксис
time_string— Строка, содержащая дату и время для преобразования.Stringtime_zone— Необязательный. Часовой пояс, в соответствии с которым разбираетсяtime_string.String
time_string как DateTime с приоритетом формата US или NULL, если входное значение не удаётся разобрать. DateTime или NULL
Примеры
Пример использования
Query
Response
parseDateTimeBestEffortUSOrZero
parseDateTimeBestEffortUS, за исключением того, что при обнаружении формата даты, который не удаётся обработать, она возвращает нулевую дату (1970-01-01) или нулевую дату и время (1970-01-01 00:00:00).
Эта функция работает так же, как parseDateTimeBestEffort, для дат в формате ISO, но в неоднозначных случаях предпочитает американский формат даты и при ошибках разбора возвращает ноль.
Синтаксис
time_string— Строка, содержащая дату и время для преобразования.Stringtime_zone— Необязательно. Часовой пояс, в соответствии с которым разбираетсяtime_string.String
time_string в виде DateTime с предпочтением американского формата или нулевую дату/дату-время (1970-01-01 или 1970-01-01 00:00:00), если входное значение не удаётся разобрать. DateTime
Примеры
Пример использования
Query
Response
parseDateTimeInJodaSyntax
formatDateTimeInJodaSyntax.
Она разбирает аргумент типа String, используя строку формата в стиле Joda. Возвращает значение типа DateTime.
Описание шаблонов формата см. в документации Joda Time.
Синтаксис
time_string— Строка для разбора в DateTime.Stringformat— Строка формата в синтаксисе Joda, задающая способ разбора time_string.Stringtimezone— Необязательно. Часовой пояс.String
DateTime
Примеры
Пример использования
Query
Response
parseDateTimeInJodaSyntaxOrNull
parseDateTimeInJodaSyntax, но при неподдающемся разбору формате даты возвращает NULL.
Синтаксис
time_string— Строка, которую нужно разобрать как DateTime.Stringformat— Строка формата в синтаксисе Joda, задающая способ разбора time_string.Stringtimezone— Необязательно. Часовой пояс.String
Nullable(DateTime)
Примеры
Пример использования
Query
Response
parseDateTimeInJodaSyntaxOrZero
parseDateTimeInJodaSyntax, но возвращает нулевую дату, если встречается неподдающийся разбору формат даты.
Синтаксис
time_string— строка, которую нужно разобрать как DateTime.Stringformat— строка формата в синтаксисе Joda, задающая, как разбирать time_string.Stringtimezone— Необязательно. Часовой пояс.String
DateTime
Примеры
Пример использования
Query
Response
parseDateTimeOrNull
parseDateTime, но возвращает NULL, если встречает неподдающийся разбору формат даты.
Синтаксис
str_to_date
Аргументы
time_string— Строка, преобразуемая в DateTime.Stringformat— Строка формата, задающая способ разбора time_string.Stringtimezone— Необязательный параметр. Часовой пояс.String
Nullable(DateTime)
Примеры
Пример использования
Query
Response
parseDateTimeOrZero
parseDateTime, но при неподдающемся разбору формате даты возвращает нулевую дату.
Синтаксис
time_string— Строка для разбора в DateTime.Stringformat— Строка формата, задающая способ разбора time_string.Stringtimezone— Необязательно. Часовой пояс.String
DateTime
Примеры
Пример использования
Query
Response
reinterpret
x и интерпретирует её как целевой тип.
Синтаксис
x— Любой тип.Anytype— Целевой тип. Если это массив, тип его элементов должен иметь фиксированную длину.String
Any
Примеры
Пример использования
Query
Response
Query
Response
reinterpretAsDate
x— Количество дней с начала эпохи Unix.(U)Int*илиFloat*, илиDate, илиDateTime, илиUUID, илиString, илиFixedString
Date
Примеры
Пример использования
Query
Response
reinterpretAsDateTime
x— Число секунд с начала эпохи Unix.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
DateTime
Примеры
Пример использования
Query
Response
reinterpretAsFixedString
x. FixedString
Примеры
Пример использования
Query
Response
reinterpretAsFloat32
CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входной тип, результат не определен.
Синтаксис
x— Значение, переинтерпретируемое как Float32.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x. Float32
Примеры
Пример использования
Query
Response
reinterpretAsFloat64
CAST, функция не пытается сохранить исходное значение — если целевой тип не способен представить входной тип, результат не определён.
Синтаксис
x— Значение, переинтерпретируемое как Float64.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x. Float64
Примеры
Пример использования
Query
Response
reinterpretAsInt128
CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входной тип, результат не определён.
Синтаксис
x— Значение, переинтерпретируемое как Int128.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x, переинтерпретированное как Int128
Примеры
Пример использования
Query
Response
reinterpretAsInt16
CAST, эта функция не пытается сохранить исходное значение: если целевой тип не может представить входной тип, результат не определён.
Синтаксис
x— Значение, переинтерпретируемое как Int16.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x. Int16
Примеры
Пример использования
Query
Response
reinterpretAsInt256
CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входной тип, результат не определён.
Синтаксис
x— Значение для переинтерпретации в Int256.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x. Int256
Примеры
Пример использования
Query
Response
reinterpretAsInt32
CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входной тип, результат не определён.
Синтаксис
x— Значение, которое нужно реинтерпретировать как Int32.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x, реинтерпретированное как Int32.
Примеры
Пример использования
Query
Response
reinterpretAsInt64
CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входной тип, результат не определён.
Синтаксис
x— значение, которое нужно переинтерпретировать как Int64.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x. Int64
Примеры
Пример использования
Query
Response
reinterpretAsInt8
CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входной тип, результат не определен.
Синтаксис
x— значение для переинтерпретации как Int8.(U)Int*orFloat*orDateorDateTimeorUUIDorStringorFixedString
x. Int8
Примеры
Пример использования
Query
Response
reinterpretAsString
x. String
Примеры
Пример использования
Query
Response
reinterpretAsUInt128
CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входной тип, результат не определён.
Синтаксис
x— Значение, которое нужно переинтерпретировать как UInt128.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x. UInt128
Примеры
Пример использования
Query
Response
reinterpretAsUInt16
CAST, функция не пытается сохранить исходное значение — если входной тип не может быть представлен целевым типом, результат не определён.
Синтаксис
x— Значение, которое нужно переинтерпретировать как UInt16.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x. UInt16
Примеры
Пример использования
Query
Response
reinterpretAsUInt256
CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входной тип, результат не определён.
Синтаксис
x— значение, которое нужно переинтерпретировать как UInt256.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x. UInt256
Примеры
Пример использования
Query
Response
reinterpretAsUInt32
CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входной тип, результат не определён.
Синтаксис
x— Значение, которое нужно реинтерпретировать как UInt32.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x, реинтерпретированное как UInt32.
Примеры
Пример использования
Query
Response
reinterpretAsUInt64
CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входной тип, результат не определён.
Синтаксис
x— Значение, которое нужно переинтерпретировать как UInt64.Int*илиUInt*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x. UInt64
Примеры
Пример использования
Query
Response
reinterpretAsUInt8
CAST, функция не пытается сохранить исходное значение — если целевой тип не может представить входной тип, результат не определён.
Синтаксис
x— Значение, которое нужно переинтерпретировать как UInt8.(U)Int*илиFloat*илиDateилиDateTimeилиUUIDилиStringилиFixedString
x. UInt8
Примеры
Пример использования
Query
Response
reinterpretAsUUID
fixed_string— Байтовая строка в формате big-endian.FixedString
UUID
Примеры
Преобразование строки в UUID
Query
Response
toBFloat16
expr— выражение, возвращающее число или строковое представление числа.Выражение
BFloat16
Примеры
Пример использования
Query
Response
toBFloat16OrNull
- Строковые представления числовых значений.
NULL):
- Строковые представления двоичных и шестнадцатеричных значений.
- Числовые значения.
Функция допускает потерю точности без уведомления при преобразовании из строкового представления.
x— Строковое представление числа.String
NULL. BFloat16 или NULL
Примеры
Пример использования
Query
Response
toBFloat16OrZero
- Строковые представления числовых значений.
0):
- Строковые представления двоичных и шестнадцатеричных значений.
- Числовые значения.
Функция допускает скрытую потерю точности при преобразовании из строкового представления.
x— Строковое представление числа.String
0. BFloat16
Примеры
Пример использования
Query
Response
toBool
expr— выражение, возвращающее число или строку. Для строк принимает значения ‘true’ или ‘false’ (регистронезависимо).(U)Int*илиFloat*илиStringилиExpression
true или false в зависимости от результата вычисления аргумента. Bool
Примеры
Пример использования
Query
Response
toDate
Date.
Поддерживает преобразование из типов String, FixedString, DateTime и числовых типов.
Синтаксис
x— Входное значение для преобразования.StringилиFixedStringилиDateTimeили(U)Int*илиFloat*
Date
Примеры
Преобразование String в Date
Query
Response
Query
Response
Query
Response
toDate32
toDate32 возвращает граничные значения, поддерживаемые Date32.
Если аргумент имеет тип Date, учитываются его границы.
Синтаксис
Date32
Примеры
В допустимом диапазоне
Query
Response
Query
Response
toDate32OrDefault
toDate32OrDefault возвращает значение нижней границы, поддерживаемое типом Date32. Если аргумент имеет тип Date, учитываются его границы. Возвращает значение по умолчанию, если получен некорректный аргумент.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— Необязательно. Значение по умолчанию, возвращаемое, если преобразование не удалось.Date32
Date32
Примеры
Успешное преобразование
Query
Response
Query
Response
toDate32OrNull
NULL, если передан некорректный аргумент.
То же, что и toDate32, но возвращает NULL, если передан некорректный аргумент.
Синтаксис
x— строковое представление даты.String
Date32 в случае успеха, в противном случае — NULL. Date32 или NULL
Примеры
Пример использования
Query
Response
toDate32OrZero
x— строковое представление даты.String
1900-01-01). Date32
Примеры
Пример использования
Query
Response
toDateOrDefault
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— Необязательно. Значение по умолчанию, которое возвращается, если разбор завершился неуспешно.Date
Date
Примеры
Успешное преобразование
Query
Response
Query
Response
toDateOrNull
Date, но возвращает NULL, если получает некорректный аргумент.
То же, что и toDate, но возвращает NULL, если получает некорректный аргумент.
Синтаксис
x— Строковое представление даты.String
NULL. Date или NULL
Примеры
Пример использования
Query
Response
toDateOrZero
Date, но возвращает нижнюю границу Date, если передан некорректный аргумент.
То же, что и toDate, но при передаче некорректного аргумента возвращает нижнюю границу Date.
См. также:
Синтаксис
x— строковое представление даты.String
1970-01-01). Date
Примеры
Пример использования
Query
Response
toDateTime
Если
expr — число, оно интерпретируется как количество секунд с начала эпохи Unix (то есть как Unix-временная метка).
Если expr — это String, оно может интерпретироваться как Unix-временная метка или как строковое представление даты / даты и времени.
Поэтому разбор строковых представлений коротких чисел (до 4 цифр) явно отключён из-за неоднозначности: например, строка '1999' может обозначать как год (неполное строковое представление Date / DateTime), так и Unix-временную метку. Более длинные числовые строки допускаются.DateTime
Примеры
Пример использования
Query
Response
toDateTime32
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
Примеры
Значение находится в допустимом диапазоне
Query
Response
Query
Response
Query
Response
toDateTime64
DateTime64.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Выражениеscale— Размер тика (precision): 10^(-scale) секунд.UInt8timezone— Необязательно. Часовой пояс для указанного объектаDateTime64.String
DateTime64
Примеры
Значение находится в диапазоне
Query
Response
Query
Response
Query
Response
toDateTime64OrDefault
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*scale— Размер тика (precision): 10^-precision секунд.UInt8timezone— Необязательно. Часовой пояс.Stringdefault— Необязательно. Значение по умолчанию, которое возвращается, если разбор завершился неудачно.DateTime64
DateTime64
Примеры
Успешное преобразование
Query
Response
Query
Response
toDateTime64OrNull
DateTime64, но возвращает NULL, если передан некорректный аргумент.
То же, что и toDateTime64, но возвращает NULL, если передан некорректный аргумент.
Синтаксис
x— строковое представление даты и времени с субсекундной точностью.String
NULL. DateTime64 или NULL
Примеры
Пример использования
Query
Response
toDateTime64OrZero
x— Строковое представление даты и времени с субсекундной точностью.String
1970-01-01 00:00:00.000). DateTime64
Примеры
Пример использования
Query
Response
toDateTimeOrDefault
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*, илиFloat*timezone— Необязательно. Часовой пояс.Stringdefault— Необязательно. Значение по умолчанию, которое возвращается, если разбор завершился неуспешно.DateTime
DateTime
Примеры
Успешное преобразование
Query
Response
Query
Response
toDateTimeOrNull
DateTime, но возвращает NULL, если получает некорректный аргумент.
То же, что и toDateTime, но возвращает NULL, если получает некорректный аргумент.
Синтаксис
x— Строковое представление даты и времени.String
DateTime в случае успеха, в противном случае — NULL. DateTime или NULL
Примеры
Пример использования
Query
Response
toDateTimeOrZero
x— Строковое представление даты и времени.String
1970-01-01 00:00:00). DateTime
Примеры
Пример использования
Query
Response
toDecimal128
Decimal(38, S) с масштабом S.
Генерирует исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
- Значения Float*
NaNиInfили их строковые представления (регистронезависимо). - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toDecimal128('0xc0fe', 1);.
Переполнение может возникнуть, если значение
expr выходит за пределы Decimal128: (-1*10^(38 - S), 1*10^(38 - S)).
Лишние цифры в дробной части отбрасываются (без округления).
Лишние цифры в целой части приведут к исключению.expr— выражение, возвращающее число или строковое представление числа.ExpressionS— параметр scale в диапазоне от 0 до 38, задающий, сколько цифр может быть в дробной части числа.UInt8
Decimal(38, S) Decimal128(S)
Примеры
Пример использования
Query
Response
toDecimal128OrDefault
toDecimal128, эта функция преобразует входное значение в значение типа Decimal(38, S), но в случае ошибки возвращает значение по умолчанию.
Синтаксис
expr— Строковое представление числа.StringS— Параметр scale в диапазоне от 0 до 38, который указывает, сколько цифр может содержать дробная часть числа.UInt8default— Необязательно. Значение по умолчанию, возвращаемое, если преобразование в тип Decimal128(S) завершается неуспешно.Decimal128(S)
Decimal128(S)
Примеры
Успешное преобразование
Query
Response
Query
Response
toDecimal128OrNull
Decimal(38, S), но в случае ошибки возвращает NULL.
Аналогично toDecimal128, но при ошибках преобразования возвращает NULL вместо того, чтобы генерировать исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
NULL):
- Значения или строковые представления значений Float*
NaNиInf(регистронезависимо). - Строковые представления двоичных и шестнадцатеричных значений.
- Значения, выходящие за пределы
Decimal128:(-1*10^(38 - S), 1*10^(38 - S)).
expr— Выражение, возвращающее число или строковое представление числа.ExpressionS— Параметр scale в диапазоне от 0 до 38, задающий, сколько цифр может содержать дробная часть числа.UInt8
NULL. Decimal128(S) или NULL
Примеры
Пример использования
Query
Response
toDecimal128OrZero
0.
Аналогично toDecimal128, но при ошибках преобразования возвращает 0 вместо того, чтобы генерировать исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
0):
- Значения Float*
NaNиInfили их строковые представления (регистронезависимо). - Строковые представления двоичных и шестнадцатеричных значений.
Если входное значение выходит за пределы
Decimal128:(-1*10^(38 - S), 1*10^(38 - S)), функция возвращает 0.expr— Выражение, возвращающее число или строковое представление числа.ExpressionS— параметр scale в диапазоне от 0 до 38, который задаёт, сколько цифр может быть в дробной части числа.UInt8
0. Decimal128(S)
Примеры
Базовое использование
Query
Response
toDecimal256
Decimal(76, S) с масштабом S. В случае ошибки генерирует исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
- Значения или строковые представления значений Float*
NaNиInf(регистронезависимо). - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toDecimal256('0xc0fe', 1);.
Переполнение может возникнуть, если значение
expr выходит за пределы диапазона Decimal256: (-1*10^(76 - S), 1*10^(76 - S)).
Лишние цифры в дробной части отбрасываются (без округления).
Лишние цифры в целой части приводят к исключению.expr— Выражение, возвращающее число или строковое представление числа.ExpressionS— параметр scale от 0 до 76, задающий, сколько знаков может быть в дробной части числа.UInt8
Decimal(76, S). Decimal256(S)
Примеры
Пример использования
Query
Response
toDecimal256OrDefault
toDecimal256, эта функция преобразует входное значение в тип Decimal(76, S), но в случае ошибки возвращает значение по умолчанию.
Синтаксис
expr— Строковое представление числа.StringS— Параметр scale в диапазоне от 0 до 76, задающий, сколько цифр может быть в дробной части числа.UInt8default— Необязательно. Значение по умолчанию, которое возвращается, если разбор в тип Decimal256(S) завершается неуспешно.Decimal256(S)
Decimal256(S)
Примеры
Успешное преобразование
Query
Response
Query
Response
toDecimal256OrNull
Decimal(76, S), но в случае ошибки возвращает NULL.
Аналогично toDecimal256, но при ошибках преобразования возвращает NULL вместо того, чтобы генерировать исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
NULL):
- Значения Float*
NaNиInf, а также их строковые представления (регистронезависимо). - Строковые представления двоичных и шестнадцатеричных значений.
- Значения, выходящие за пределы
Decimal256:(-1 * 10^(76 - S), 1 * 10^(76 - S)).
expr— выражение, возвращающее число или строковое представление числа.ВыражениеS— параметр scale в диапазоне от 0 до 76, задающий, сколько цифр может быть в дробной части числа.UInt8
NULL. Decimal256(S) или NULL
Примеры
Пример использования
Query
Response
toDecimal256OrZero
0.
Аналогична toDecimal256, но при ошибках преобразования возвращает 0 вместо того, чтобы генерировать исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
0):
- Значения или строковые представления значений Float*
NaNиInf(регистронезависимо). - Строковые представления двоичных и шестнадцатеричных значений.
Если входное значение выходит за пределы
Decimal256: (-1*10^(76 - S), 1*10^(76 - S)), функция возвращает 0.expr— Выражение, возвращающее число или строковое представление числа.ExpressionS— Параметр scale в диапазоне от 0 до 76, задающий количество цифр в дробной части числа.UInt8
0. Decimal256(S)
Примеры
Пример использования
Query
Response
toDecimal32
Decimal(9, S) с масштабом S. В случае ошибки генерирует исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
- Значения или строковые представления значений Float*
NaNиInf(регистронезависимо). - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toDecimal32('0xc0fe', 1);.
Переполнение может произойти, если значение
expr выходит за пределы Decimal32: (-1*10^(9 - S), 1*10^(9 - S)).
Лишние цифры в дробной части отбрасываются (без округления).
Лишние цифры в целой части приводят к исключению.expr— Выражение, возвращающее число или строковое представление числа.ВыражениеS— Параметр scale в диапазоне от 0 до 9, указывающий, сколько цифр может быть в дробной части числа.UInt8
Decimal(9, S) Decimal32(S)
Примеры
Пример использования
Query
Response
toDecimal32OrDefault
toDecimal32, эта функция преобразует входное значение в значение типа Decimal(9, S), но в случае ошибки возвращает значение по умолчанию.
Синтаксис
expr— Строковое представление числа.StringS— Параметр масштаба от 0 до 9, задающий, сколько цифр может быть в дробной части числа.UInt8default— Необязательно. Значение по умолчанию, которое возвращается, если не удалось выполнить разбор в тип Decimal32(S).Decimal32(S)
Decimal32(S)
Примеры
Успешное преобразование
Query
Response
Query
Response
toDecimal32OrNull
Decimal(9, S), но в случае ошибки возвращает NULL.
Аналогична toDecimal32, но при ошибках преобразования возвращает NULL вместо того, чтобы генерировать исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
NULL):
- Значения или строковые представления значений Float*
NaNиInf(регистронезависимо). - Строковые представления двоичных и шестнадцатеричных значений.
- Значения, выходящие за границы
Decimal32:(-1*10^(9 - S), 1*10^(9 - S)).
expr— Выражение, возвращающее число или строковое представление числа.ВыражениеS— параметр масштаба в диапазоне от 0 до 9, задающий, сколько цифр может быть в дробной части числа.UInt8
NULL. Decimal32(S) или NULL
Примеры
Пример использования
Query
Response
toDecimal32OrZero
0.
Аналогично toDecimal32, но при ошибках преобразования возвращает 0 вместо того, чтобы генерировать исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
0):
- Значения или строковые представления значений Float*
NaNиInf(регистронезависимые). - Строковые представления двоичных и шестнадцатеричных значений.
Если входное значение выходит за пределы
Decimal32: (-1*10^(9 - S), 1*10^(9 - S)), функция возвращает 0.expr— Выражение, возвращающее число или его строковое представление.ВыражениеS— параметр масштаба со значением от 0 до 9, задающий, сколько цифр может быть в дробной части числа.UInt8
0. Decimal32(S)
Примеры
Пример использования
Query
Response
toDecimal64
Decimal(18, S) с масштабом S.
Генерирует исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
- Значения или строковые представления значений Float*
NaNиInf(регистронезависимо). - Строковые представления бинарных и шестнадцатеричных значений, например
SELECT toDecimal64('0xc0fe', 1);.
Переполнение может произойти, если значение
expr выходит за пределы диапазона Decimal64: (-1*10^(18 - S), 1*10^(18 - S)).
Лишние цифры в дробной части отбрасываются (без округления).
Лишние цифры в целой части приведут к исключению.expr— Выражение, возвращающее число или его строковое представление.ВыражениеS— параметр масштаба от 0 до 18, указывающий, сколько цифр может быть в дробной части числа.UInt8
Decimal(18, S)
Примеры
Пример использования
Query
Response
toDecimal64OrDefault
toDecimal64, эта функция преобразует входное значение в тип Decimal(18, S), но в случае ошибки возвращает значение по умолчанию.
Синтаксис
expr— Строковое представление числа.StringS— Параметр масштаба в диапазоне от 0 до 18, задающий, сколько цифр может содержать дробная часть числа.UInt8default— Необязательно. Значение по умолчанию, которое возвращается, если преобразование в тип Decimal64(S) не удалось.Decimal64(S)
Decimal64(S)
Примеры
Успешное преобразование
Query
Response
Query
Response
toDecimal64OrNull
NULL.
Аналогично toDecimal64, но при ошибках преобразования возвращает NULL вместо того, чтобы генерировать исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
NULL):
- Значения Float*
NaNиInf, а также их строковые представления (регистронезависимые). - Строковые представления двоичных и шестнадцатеричных значений.
- Значения, выходящие за пределы
Decimal64:(-1*10^(18 - S), 1*10^(18 - S)).
expr— Выражение, возвращающее число или строковое представление числа.ВыражениеS— параметр масштаба в диапазоне от 0 до 18, задающий, сколько цифр может содержать дробная часть числа.UInt8
NULL. Decimal64(S) или NULL
Примеры
Пример использования
Query
Response
toDecimal64OrZero
0.
Аналогична toDecimal64, но при ошибках преобразования возвращает 0 вместо того, чтобы генерировать исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения или строковые представления типа Float*.
0):
- Значения или строковые представления значений Float*
NaNиInf(регистронезависимо). - Строковые представления двоичных и шестнадцатеричных значений.
Если входное значение выходит за пределы
Decimal64:(-1*10^(18 - S), 1*10^(18 - S)), функция возвращает 0.expr— Выражение, возвращающее число или строковое представление числа.ВыражениеS— параметр масштаба в диапазоне от 0 до 18, определяющий, сколько цифр может быть в дробной части числа.UInt8
Decimal(18, S) в случае успеха, иначе 0. Decimal64(S)
Примеры
Пример использования
Query
Response
toDecimalString
number— Числовое значение, которое нужно преобразовать в строку. Может иметь любой числовой тип (Int, UInt, Float, Decimal).Int8orInt16orInt32orInt64orUInt8orUInt16orUInt32orUInt64orFloat32orFloat64orDecimalscale— Количество цифр для отображения в дробной части. При необходимости результат будет округлён.UInt8
String
Примеры
Округление и форматирование числа
Query
Response
Query
Response
Query
Response
toFixedString
String в тип FixedString(N) (строку фиксированной длины N).
Если строка содержит меньше байтов, чем N, справа она дополняется null-байтами.
Если строка содержит больше байтов, чем N, генерируется исключение.
Синтаксис
s— Строка, которую нужно преобразовать.StringN— Длина результирующей FixedString.const UInt*
FixedString(N)
Примеры
Пример использования
Query
Response
toFloat32
- Значения типа (U)Int*.
- Строковые представления (U)Int8/16/32/128/256.
- Значения типа Float*, включая
NaNиInf. - Строковые представления Float*, включая
NaNиInf(регистронезависимые).
- Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toFloat32('0xc0fe');.
expr— Выражение, возвращающее число или строковое представление числа.Выражение
Float32
Примеры
Пример использования
Query
Response
toFloat32OrDefault
toFloat32, эта функция преобразует входное значение в значение типа Float32, но в случае ошибки возвращает значение по умолчанию.
Если значение default не указано, то в случае ошибки возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— Необязательно. Значение по умолчанию, которое возвращается, если не удалось выполнить разбор.Float32
Float32
Примеры
Успешное преобразование
Query
Response
Query
Response
toFloat32OrNull
NULL.
Аналогично toFloat32, но при ошибках преобразования возвращает NULL вместо генерации исключения.
Поддерживаемые аргументы:
- Значения типа (U)Int*.
- Строковые представления (U)Int8/16/32/128/256.
- Значения типа Float*, включая
NaNиInf. - Строковые представления Float*, включая
NaNиInf(регистронезависимо).
NULL):
- Строковые представления двоичных и шестнадцатеричных значений, например:
SELECT toFloat32OrNull('0xc0fe');. - Недопустимые строковые форматы.
x— Строковое представление числа.String
Float32 в случае успеха, в противном случае — NULL. Float32 или NULL
Примеры
Пример использования
Query
Response
toFloat32OrZero
0.
Аналогично toFloat32, но при ошибках преобразования возвращает 0 вместо генерации исключения.
См. также:
Синтаксис
x— Строковое представление числа.String
Float32 в случае успеха, иначе — 0. Float32
Примеры
Пример использования
Query
Response
toFloat64
Float64.
Генерирует исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения типа (U)Int*.
- Строковые представления значений типа (U)Int8/16/32/128/256.
- Значения типа Float*, включая
NaNиInf. - Строковые представления значений типа Float*, включая
NaNиInf(регистронезависимо).
- Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toFloat64('0xc0fe');.
expr— Выражение, возвращающее число или строковое представление числа.Expression
Float64
Примеры
Пример использования
Query
Response
toFloat64OrDefault
toFloat64, эта функция преобразует входное значение в значение типа Float64, но в случае ошибки возвращает значение по умолчанию.
Если значение default не указано, то в случае ошибки возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— Необязательно. Значение по умолчанию, возвращаемое при неуспешном парсинге.Float64
Float64
Примеры
Успешное преобразование
Query
Response
Query
Response
toFloat64OrNull
NULL.
Аналогично toFloat64, но при ошибках преобразования возвращает NULL вместо того, чтобы генерировать исключение.
Поддерживаемые аргументы:
- Значения типа (U)Int*.
- Строковые представления (U)Int8/16/32/128/256.
- Значения типа Float*, включая
NaNиInf. - Строковые представления значений типа Float*, включая
NaNиInf(регистронезависимо).
NULL):
- Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toFloat64OrNull('0xc0fe');. - Недопустимые строковые форматы.
x— строковое представление числа.String
NULL. Float64 или NULL
Примеры
Пример использования
Query
Response
toFloat64OrZero
0.
Аналогично toFloat64, но при ошибках преобразования возвращает 0 вместо того, чтобы генерировать исключение.
См. также:
Синтаксис
x— Строковое представление числа.String
0. Float64
Примеры
Пример использования
Query
Response
toInt128
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt128('0xc0fe');.
Если входное значение не укладывается в диапазон Int128, происходит переполнение или потеря значащих разрядов.
Это не считается ошибкой.
expr— Выражение, возвращающее число или его строковое представление.Expression
Int128
Примеры
Пример использования
Query
Response
toInt128OrDefault
toInt128, эта функция преобразует входное значение в тип Int128, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то в случае ошибки возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*, илиFloat*default— Необязательно. Значение по умолчанию, которое возвращается, если разбор не удался.Int128
Int128
Примеры
Успешное преобразование
Query
Response
Query
Response
toInt128OrNull
toInt128, эта функция преобразует входное значение в значение типа Int128, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных чисел, например
SELECT toInt128OrNull('0xc0fe');.
Если входное значение не укладывается в диапазон Int128, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.
x— Строковое представление числа.String
NULL. Int128 или NULL
Примеры
Пример использования
Query
Response
toInt128OrZero
0.
Работает как toInt128, но возвращает 0 вместо того, чтобы генерировать исключение.
См. также:
Синтаксис
x— Входное значение для преобразования.StringилиFixedStringилиFloat*илиDecimalили(U)Int*илиDateилиDateTime
0, если преобразование не удалось. Int128
Примеры
Пример использования
Query
Response
Query
Response
toInt16
Int16.
Генерирует исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
- Строковые представления значений типа Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например:
SELECT toInt16('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int16, происходит переполнение или выход за нижнюю границу диапазона.
Это не считается ошибкой.
Например:
SELECT toInt16(32768) == -32768;.Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
expr— Выражение, возвращающее число или строковое представление числа.Expression
Int16
Примеры
Пример использования
Query
Response
toInt16OrDefault
toInt16, эта функция преобразует входное значение в тип Int16, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то в случае ошибки возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— Необязательно. Значение по умолчанию, которое возвращается, если преобразование не удалось.Int16
Int16
Примеры
Успешное преобразование
Query
Response
Query
Response
toInt16OrNull
toInt16, эта функция преобразует входное значение в значение типа Int16, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt16OrNull('0xc0fe');.
Если входное значение не может быть представлено в диапазоне Int16, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.
x— строковое представление числа.String
Int16, а если преобразование не удалось — NULL. Int16 или NULL
Примеры
Пример использования
Query
Response
toInt16OrZero
toInt16, эта функция преобразует входное значение в значение типа Int16, но в случае ошибки возвращает 0.
Поддерживаемые аргументы:
- Строковые представления значений (U)Int*.
0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt16OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int16, происходит переполнение или выход за нижнюю границу диапазона.
Это не считается ошибкой.
x— Строковое представление числа.String
0. Int16
Примеры
Пример использования
Query
Response
toInt256
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt256('0xc0fe');.
Если входное значение не может быть представлено в диапазоне Int256, происходит переполнение или выход за нижнюю границу диапазона.
Это не считается ошибкой.
expr— выражение, возвращающее число или его строковое представление.Expression
Int256
Примеры
Пример использования
Query
Response
toInt256OrDefault
toInt256, эта функция преобразует входное значение в значение типа Int256, но в случае ошибки возвращает значение по умолчанию.
Если значение default не указано, то в случае ошибки возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.String,(U)Int*илиFloat*default— Необязательно. Значение по умолчанию, которое возвращается, если парсинг не удался.Int256
Int256
Примеры
Успешное преобразование
Query
Response
Query
Response
toInt256OrNull
toInt256, эта функция преобразует входное значение в значение типа Int256, но при ошибке возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt256OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах Int256, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.
x— строковое представление числа.String
NULL. Int256 или NULL
Примеры
Пример использования
Query
Response
toInt256OrZero
0.
Аналогична toInt256, но возвращает 0 вместо генерации исключения.
См. также:
Синтаксис
x— Входное значение, которое нужно преобразовать.StringилиFixedStringилиFloat*илиDecimalили(U)Int*илиDateилиDateTime
0. Int256
Примеры
Пример использования
Query
Response
Query
Response
toInt32
Int32.
В случае ошибки генерирует исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
- Строковые представления значений типа Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt32('0xc0fe');.
Если входное значение не может быть представлено в диапазоне Int32, происходит переполнение или выход за нижнюю границу диапазона.
Это не считается ошибкой.
Например:
SELECT toInt32(2147483648) == -2147483648;Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
expr— Выражение, возвращающее число или строковое представление числа.Expression
Int32
Примеры
Пример использования
Query
Response
toInt32OrDefault
toInt32, эта функция преобразует входное значение в значение типа Int32, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, при ошибке возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или его строковое представление.Stringили(U)Int*илиFloat*default— Необязательно. Значение по умолчанию, которое возвращается, если парсинг завершился неудачно.Int32
Int32
Примеры
Успешное преобразование
Query
Response
Query
Response
toInt32OrNull
toInt32, эта функция преобразует входное значение в значение типа Int32, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt32OrNull('0xc0fe');.
Если входное значение не может быть представлено в диапазоне Int32, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.
x— Строковое представление числа.String
NULL. Int32 или NULL
Примеры
Пример использования
Query
Response
toInt32OrZero
toInt32, эта функция преобразует входное значение в значение типа Int32, но в случае ошибки возвращает 0.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt32OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах Int32, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.
x— Строковое представление числа.String
0. Int32
Примеры
Пример использования
Query
Response
toInt64
Int64.
Генерирует исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt64('0xc0fe');.
Если входное значение не может быть представлено в диапазоне Int64, происходит переполнение или выход за нижнюю границу диапазона.
Это не считается ошибкой.
Например:
SELECT toInt64(9223372036854775808) == -9223372036854775808;Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
expr— Выражение, возвращающее число или строковое представление числа. Поддерживаются: значения или строковые представления значений типа (U)Int*, значения типа Float*. Не поддерживаются: строковые представления значений Float*, включая NaN и Inf, а также строковые представления двоичных и шестнадцатеричных значений.Expression
Int64
Примеры
Пример использования
Query
Response
toInt64OrDefault
toInt64, эта функция преобразует входное значение в тип Int64, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то в случае ошибки возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— Необязательный параметр. Значение по умолчанию, которое возвращается, если не удалось выполнить парсинг.Int64
Int64
Примеры
Успешное преобразование
Query
Response
Query
Response
toInt64OrNull
toInt64, эта функция преобразует входное значение в значение типа Int64, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления значений (U)Int*.
NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt64OrNull('0xc0fe');.
Если входное значение не может быть представлено в диапазоне Int64, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.
x— Строковое представление числа.String
NULL, если преобразование выполнить не удалось. Int64 или NULL
Примеры
Пример использования
Query
Response
toInt64OrZero
0.
Аналогично toInt64, но возвращает 0 вместо генерации исключения.
См. также:
Синтаксис
x— Входное значение для преобразования.StringилиFixedStringилиFloat*илиDecimalили(U)Int*илиDateилиDateTime
0. Int64
Примеры
Пример использования
Query
Response
Query
Response
toInt8
Int8.
При ошибке генерирует исключение.
Поддерживаемые аргументы:
- Значения или строковые представления значений типа (U)Int*.
- Значения типа Float*.
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt8('0xc0fe');.
Если входное значение не может быть представлено в диапазоне Int8, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.
Например:
SELECT toInt8(128) == -128;.Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
expr— Выражение, возвращающее число или строковое представление числа.Выражение
Int8
Примеры
Пример использования
Query
Response
toInt8OrDefault
toInt8, эта функция преобразует входное значение в значение типа Int8, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то при ошибке возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— Необязательно. Значение по умолчанию, которое возвращается, если разбор завершился неудачно.Int8
Int8
Примеры
Успешное преобразование
Query
Response
Query
Response
toInt8OrNull
toInt8, эта функция преобразует входное значение в значение типа Int8, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt8OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона Int8, происходит переполнение или выход за нижнюю границу диапазона.
Это не считается ошибкой.
x— Строковое представление числа.String
NULL, если преобразование не удалось. Int8 или NULL
Примеры
Пример использования
Query
Response
toInt8OrZero
toInt8, эта функция преобразует входное значение в значение типа Int8, но в случае ошибки возвращает 0.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toInt8OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах Int8, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.
x— Строковое представление числа.String
0. Int8
Примеры
Пример использования
Query
Response
toInterval
toIntervalSecond, toIntervalMinute, toIntervalDay и т. д.,
но позволяет динамически указывать единицу измерения в виде строкового параметра.
Синтаксис
value— Числовое значение, задающее количество единиц. Может быть любого числового типа:Int8orInt16orInt32orInt64orUInt8orUInt16orUInt32orUInt64orFloat32orFloat64unit— Единица времени. Должна быть строковой константой. Допустимые значения: ‘nanosecond’, ‘microsecond’, ‘millisecond’, ‘second’, ‘minute’, ‘hour’, ‘day’, ‘week’, ‘month’, ‘quarter’, ‘year’.String
Interval
Примеры
Создание интервалов с разными единицами времени
Query
Response
Query
Response
Query
Response
toIntervalDay
n дней типа данных IntervalDay.
Синтаксис
n— Количество дней. Целые числа, их строковые представления, а также числа с плавающей точкой.(U)Int*илиFloat*илиString
n дней. Interval
Примеры
Пример использования
Query
Response
toIntervalHour
n часов с типом данных IntervalHour.
Синтаксис
n— Количество часов. Целые числа, их строковые представления, а также числа с плавающей точкой.Int*илиUInt*илиFloat*илиString
n часов. Interval
Примеры
Пример использования
Query
Response
toIntervalMicrosecond
n микросекунд типа IntervalMicrosecond.
Синтаксис
n микросекунд. Interval
Примеры
Пример использования
Query
Response
toIntervalMillisecond
n миллисекунд типа данных IntervalMillisecond.
Синтаксис
n миллисекунд. Interval
Примеры
Пример использования
Query
Response
toIntervalMinute
n минут типа данных IntervalMinute.
Синтаксис
n— Количество минут. Целые числа или их строковые представления, а также числа с плавающей точкой.(U)Int*илиFloat*илиString
n минут. Interval
Примеры
Пример использования
Query
Response
toIntervalMonth
n месяцев типа IntervalMonth.
Синтаксис
n месяцев. Interval
Примеры
Пример использования
Query
Response
toIntervalNanosecond
n наносекунд типа данных IntervalNanosecond.
Синтаксис
n наносекунд. Interval
Примеры
Пример использования
Query
Response
toIntervalQuarter
n кварталов типа данных IntervalQuarter.
Синтаксис
n кварталов. Interval
Примеры
Пример использования
Query
Response
toIntervalSecond
n секунд типа данных IntervalSecond.
Синтаксис
n— Количество секунд. Целые числа, их строковые представления, а также числа с плавающей точкой.(U)Int*илиFloat*илиString
n секунд. Interval
Примеры
Пример использования
Query
Response
toIntervalWeek
n недель с типом данных IntervalWeek.
Синтаксис
n недель. Interval
Примеры
Пример использования
Query
Response
toIntervalYear
n лет типа данных IntervalYear.
Синтаксис
n лет. Interval
Примеры
Пример использования
Query
Response
toLowCardinality
expr— выражение, результат которого имеет один из поддерживаемых типов данных:String,FixedString,Date,DateTime,(U)Int*илиFloat*
LowCardinality. LowCardinality
Примеры
Пример использования
Query
Response
toString
value— Значение для преобразования в строку.Anytimezone— Необязательно. Имя часового пояса для преобразования значения DateTime.String
String
Примеры
Пример использования
Query
Response
toStringCutToZero
\0) считаются символами окончания строки.
Эта функция полезна при обработке строк в стиле C или бинарных данных, где null-байты обозначают конец значимого содержимого.
Синтаксис
s— обрабатываемое значение типаStringилиFixedString.StringилиFixedString
String, содержащее символы до первого null-байта. String
Примеры
Пример использования
Query
Response
toTime
x— Входное значение для преобразования.StringorFixedStringorDateTimeor(U)Int*orFloat*
Time
Примеры
Преобразование из String в Time
Query
Response
Query
Response
Query
Response
toTime64
x— Входное значение для преобразования.StringилиFixedString, илиDateTime64, или(U)Int*, илиFloat*
Time64(6)
Примеры
Преобразование String в Time64
Query
Response
Query
Response
Query
Response
toTime64OrNull
Time64, но в случае ошибки возвращает NULL.
Аналогично toTime64, но при ошибках преобразования возвращает NULL вместо генерации исключения.
См. также:
Синтаксис
x— строковое представление времени с субсекундной точностью.String
NULL. Time64 или NULL
Примеры
Пример использования
Query
Response
toTime64OrZero
00:00:00.000.
Аналогично toTime64, но при ошибках преобразования возвращает 00:00:00.000 вместо генерации исключения.
Синтаксис
x— строковое представление времени с субсекундной точностью.String
00:00:00.000. Time64
Примеры
Пример использования
Query
Response
toTimeOrNull
NULL.
Аналогично toTime, но при ошибках преобразования возвращает NULL вместо генерации исключения.
См. также:
Синтаксис
x— строковое представление времени.String
NULL. Time или NULL
Примеры
Пример использования
Query
Response
toTimeOrZero
00:00:00.
Как и toTime, при ошибках преобразования возвращает 00:00:00 вместо того, чтобы генерировать исключение.
Синтаксис
x— Строковое представление времени.String
00:00:00. Time
Примеры
Пример использования
Query
Response
toUInt128
UInt128.
В случае ошибки генерирует исключение.
Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt128('0xc0fe');.
Если входное значение не может быть представлено в пределах UInt128, происходит переполнение или потеря значащих разрядов.
Это не считается ошибкой.
expr— Выражение, возвращающее число или строковое представление числа.Выражение
UInt128
Примеры
Пример использования
Query
Response
toUInt128OrDefault
toUInt128, эта функция преобразует входное значение в значение типа UInt128, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то при ошибке возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— Необязательно. Значение по умолчанию, которое будет возвращено, если разбор не выполнен.UInt128
UInt128
Примеры
Успешное преобразование
Query
Response
Query
Response
toUInt128OrNull
toUInt128, эта функция преобразует входное значение в значение типа UInt128, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt128OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона
UInt128, происходит переполнение или выход за нижнюю границу диапазона.
Это не считается ошибкой.x— строковое представление числа.String
NULL. UInt128 или NULL
Примеры
Пример использования
Query
Response
toUInt128OrZero
toUInt128, эта функция преобразует входное значение в значение типа UInt128, но в случае ошибки возвращает 0.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt128OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах
UInt128, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.x— Строковое представление числа.String
0. UInt128
Примеры
Пример использования
Query
Response
toUInt16
UInt16.
В случае ошибки генерирует исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt16('0xc0fe');.
Если входное значение не может быть представлено в границах
UInt16, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.
Например: SELECT toUInt16(65536) == 0;.Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
expr— Выражение, возвращающее число или строковое представление числа.Выражение
UInt16
Примеры
Пример использования
Query
Response
toUInt16OrDefault
toUInt16, эта функция преобразует входное значение в тип UInt16, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то в случае ошибки возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— Необязательный параметр. Значение по умолчанию, которое возвращается, если парсинг завершился неудачно.UInt16
UInt16
Примеры
Успешное преобразование
Query
Response
Query
Response
toUInt16OrNull
toUInt16, эта функция преобразует входное значение в значение типа UInt16, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления (U)Int8/16/32/128/256.
NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt16OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах
UInt16, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.x— Строковое представление числа.String
UInt16; если преобразование не удалось, возвращает NULL. UInt16 или NULL
Примеры
Пример использования
Query
Response
toUInt16OrZero
toUInt16, эта функция преобразует входное значение в значение типа UInt16, но при ошибке возвращает 0.
Поддерживаемые аргументы:
- Строковые представления (U)Int8/16/32/128/256.
0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt16OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах
UInt16, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.x— Строковое представление числа.String
0, если преобразование не удалось. UInt16
Примеры
Пример использования
Query
Response
toUInt256
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt256('0xc0fe');.
Если входное значение не может быть представлено в диапазоне UInt256, происходит переполнение или выход за нижнюю границу диапазона.
Это не считается ошибкой.
expr— Выражение, возвращающее число или строковое представление числа.Выражение
UInt256
Примеры
Пример использования
Query
Response
toUInt256OrDefault
toUInt256, эта функция преобразует входное значение в тип UInt256, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то в случае ошибки возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.String,(U)Int*илиFloat*default— Необязательно. Значение по умолчанию, которое возвращается, если не удалось выполнить разбор.UInt256
UInt256
Примеры
Успешное преобразование
Query
Response
Query
Response
toUInt256OrNull
toUInt256, эта функция преобразует входное значение в значение типа UInt256, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления значений (U)Int*.
NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt256OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах
UInt256, происходит переполнение или выход за нижнюю границу диапазона.
Это не считается ошибкой.x— строковое представление числа.String
NULL. UInt256 или NULL
Примеры
Пример использования
Query
Response
toUInt256OrZero
toUInt256, эта функция преобразует входное значение в значение типа UInt256, но в случае ошибки возвращает 0.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt256OrZero('0xc0fe');.
Если входное значение не может быть представлено в диапазоне
UInt256, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.x— Строковое представление числа.String
0. UInt256
Примеры
Пример использования
Query
Response
toUInt32
UInt32.
В случае ошибки генерирует исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt32('0xc0fe');.
Если входное значение не может быть представлено в пределах
UInt32, происходит переполнение или выход за нижнюю границу диапазона.
Это не считается ошибкой.
Например: SELECT toUInt32(4294967296) == 0;Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
expr— выражение, возвращающее число или строковое представление числа.Выражение
UInt32
Примеры
Пример использования
Query
Response
toUInt32OrDefault
toUInt32, эта функция преобразует входное значение в значение типа UInt32, но в случае ошибки возвращает значение по умолчанию.
Если значение default не указано, то в случае ошибки возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*, илиFloat*default— Необязательно. Значение по умолчанию, которое возвращается, если parsing завершается неуспешно.UInt32
UInt32
Примеры
Успешное преобразование
Query
Response
Query
Response
toUInt32OrNull
toUInt32, эта функция преобразует входное значение в значение типа UInt32, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления (U)Int8/16/32/128/256.
NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt32OrNull('0xc0fe');.
Если входное значение не может быть представлено в диапазоне
UInt32, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.x— Строковое представление числа.String
UInt32; если преобразование не удалось, возвращается NULL. UInt32 или NULL
Примеры
Пример использования
Query
Response
toUInt32OrZero
toUInt32, эта функция преобразует входное значение в значение типа UInt32, но в случае ошибки возвращает 0.
Поддерживаемые аргументы:
- Строковые представления (U)Int8/16/32/128/256.
0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt32OrZero('0xc0fe');.
Если входное значение не может быть представлено в диапазоне
UInt32, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.x— строковое представление числа.String
0. UInt32
Примеры
Пример использования
Query
Response
toUInt64
UInt64.
При ошибке генерирует исключение.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt64('0xc0fe');.
Если входное значение не может быть представлено в пределах
UInt64, происходит переполнение или выход за нижнюю границу диапазона.
Это не считается ошибкой.
Например: SELECT toUInt64(18446744073709551616) == 0;Функция использует округление к нулю, то есть отбрасывает дробные цифры у чисел.
expr— Выражение, возвращающее число или его строковое представление.Выражение
UInt64
Примеры
Пример использования
Query
Response
toUInt64OrDefault
toUInt64, эта функция преобразует входное значение в значение типа UInt64, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, то в случае ошибки возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*илиFloat*default— Необязательно. Значение по умолчанию, которое возвращается, если преобразование не удалось.UInt64
UInt64
Примеры
Успешное преобразование
Query
Response
Query
Response
toUInt64OrNull
toUInt64, эта функция преобразует входное значение в значение типа UInt64, но в случае ошибки возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
NULL):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt64OrNull('0xc0fe');.
Если входное значение не может быть представлено в пределах диапазона
UInt64, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.x— строковое представление числа.String
NULL. UInt64 или NULL
Примеры
Пример использования
Query
Response
toUInt64OrZero
toUInt64, эта функция преобразует входное значение в значение типа UInt64, но при ошибке возвращает 0.
Поддерживаемые аргументы:
- Строковые представления (U)Int*.
0):
- Строковые представления значений Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например:
SELECT toUInt64OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах
UInt64, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.x— Строковое представление числа.String
0. UInt64
Примеры
Пример использования
Query
Response
toUInt8
UInt8.
Генерирует исключение в случае ошибки.
Поддерживаемые аргументы:
- Значения или строковые представления типа (U)Int*.
- Значения типа Float*.
- Строковые представления значений типа Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt8('0xc0fe');.
Если входное значение не может быть представлено в диапазоне UInt8, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.
Например:
SELECT toUInt8(256) == 0;.Функция использует округление к нулю, то есть отбрасывает дробную часть числа.
expr— выражение, возвращающее число или строковое представление числа.Выражение
UInt8
Примеры
Пример использования
Query
Response
toUInt8OrDefault
toUInt8, эта функция преобразует входное значение в значение типа UInt8, но в случае ошибки возвращает значение по умолчанию.
Если значение default не передано, в случае ошибки возвращается 0.
Синтаксис
expr— Выражение, возвращающее число или строковое представление числа.Stringили(U)Int*, илиFloat*default— Необязательно. Значение по умолчанию, которое возвращается, если разбор не удался.UInt8
UInt8
Примеры
Успешное преобразование
Query
Response
Query
Response
toUInt8OrNull
toUInt8, эта функция преобразует входное значение в значение типа UInt8, но при ошибке возвращает NULL.
Поддерживаемые аргументы:
- Строковые представления (U)Int8/16/32/128/256.
NULL):
- Строковые представления обычных значений типа Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt8OrNull('0xc0fe');.
Если входное значение не может быть представлено в диапазоне
UInt8, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.x— строковое представление числа.String
NULL. UInt8 или NULL
Примеры
Пример использования
Query
Response
toUInt8OrZero
toUInt8, эта функция преобразует входное значение в значение типа UInt8, но в случае ошибки возвращает 0.
Поддерживаемые аргументы:
- Строковые представления (U)Int8/16/32/128/256.
0):
- Строковые представления обычных значений типа Float*, включая
NaNиInf. - Строковые представления двоичных и шестнадцатеричных значений, например
SELECT toUInt8OrZero('0xc0fe');.
Если входное значение не может быть представлено в пределах
UInt8, происходит переполнение или выход за нижнюю границу диапазона результата.
Это не считается ошибкой.x— строковое представление числа.String
0. UInt8
Примеры
Пример использования
Query
Response
toUUID
string— UUID в строковом формате.StringилиFixedString
UUID
Примеры
Пример использования
Query
Response
toUUIDOrZero
toUUID, но при ошибках преобразования вместо генерации исключения возвращает нулевой UUID (00000000-0000-0000-0000-000000000000).
Поддерживаемые аргументы:
- Строковые представления UUID в стандартном формате (8-4-4-4-12 шестнадцатеричных цифр).
- Строковые представления UUID без дефисов (32 шестнадцатеричные цифры).
- Недопустимые строковые форматы.
- Типы, отличные от строковых.
x— строковое представление UUID.String
00000000-0000-0000-0000-000000000000). UUID
Примеры
Пример использования
Query
Response
toUnixTimestamp64Micro
DateTime64 в значение Int64 с фиксированной точностью в микросекундах.
Входное значение соответствующим образом масштабируется в большую или меньшую сторону в зависимости от его точности.
Выходное значение задаётся относительно UTC, а не относительно часового пояса входного значения.
value— значение типа DateTime64 с любой точностью.DateTime64
Int64
Примеры
Пример использования
Query
Response
toUnixTimestamp64Milli
DateTime64 в значение Int64 с фиксированной точностью в миллисекундах.
Входное значение соответствующим образом масштабируется в зависимости от его точности.
Выходное значение задается относительно UTC, а не часового пояса входного значения.
value— значение типа DateTime64 с любой точностью.DateTime64
Int64
Примеры
Пример использования
Query
Response
toUnixTimestamp64Nano
DateTime64 в значение Int64 с фиксированной точностью до наносекунд.
Входное значение соответствующим образом масштабируется вверх или вниз в зависимости от его точности.
Выходное значение рассчитывается относительно UTC, а не часового пояса входного значения.
value— значение типа DateTime64 с любой точностью.DateTime64
Int64
Примеры
Пример использования
Query
Response
toUnixTimestamp64Second
DateTime64 в значение Int64 с фиксированной точностью до секунд.
Входное значение соответствующим образом масштабируется в большую или меньшую сторону в зависимости от его точности.
Выходное значение задаётся относительно UTC, а не часового пояса входного значения.
value— значение типа DateTime64 с любой точностью.DateTime64
Int64
Примеры
Пример использования
Query
Response