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